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 :
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
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!