Maison > développement back-end > Golang > le corps du texte

Quand et pourquoi le Go Scheduler alloue-t-il de nouveaux processeurs M et P ?

Linda Hamilton
Libérer: 2024-10-30 17:36:03
original
912 Les gens l'ont consulté

When and Why Does the Go Scheduler Allocate New M and P Processors?

Quand et pourquoi le planificateur Go alloue de nouveaux processeurs M et P

Comprendre le modèle de planification du runtime Go est crucial pour optimiser les performances des applications. Un aspect clé de ce modèle est l'allocation de M (machines) et P (processeurs).

Quand M et P sont-ils créés ?

Les processeurs M sont créés lorsque :

  • Une nouvelle goroutine est démarrée (sauf s'il y a un M inactif de rechange)
  • Un M existant bloque sur un appel système A (crée un nouveau thread de système d'exploitation connu sous le nom de M )

Les processeurs P sont créés lorsque toutes les files d'attente d'exécution locales sont pleines, une goroutine exécute ses goroutines voisines prêtes à s'exécuter sont placées dans une file d'attente globale et elle contient un seul p.

Tâches de blocage et réutilisation

Dans le code de test fourni, les goroutines effectuent des opérations de blocage de la base de données. Les tâches bloquantes suppriment les processeurs M des processeurs P.

Dans ce cas, la création de nouveaux processeurs M est nécessaire pour gérer les goroutines bloquées. Les 8 processeurs M (nombre de cœurs virtuels) initiaux ne suffiront pas pour le deuxième lot. De nouveaux processeurs M seront alloués selon les besoins.

Ressources supplémentaires

  • https://www.programmersought.com/article/79557885527/
  • https://blog.golang.org/go-goroutine-os-thread-and-cpu-management

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!