L’état d’un fil dans .NET Framework est expliqué dans ce lien .
J’ai récemment vu cette photo sur un site Web et quelques questions me sont venues à l’esprit:
Le cycle de vie des threads dans le système d’exploitation n’est pas complètement aligné sur le cycle de vie des threads dans .NET Framework. Quelqu’un peut-il fournir une ressource qui correspond aux états du système d’exploitation avec .NET Framework?
Nous n’avons pas d’état appelé Bloqué dans .NET Framework. Quel sera l’état d’un thread s’il émet une demande d’E / S?
Quel est le but de l’état Aborted ? Lorsqu’un thread appelle la méthode Abort()
, il passe à l’état AbortRequested et, une fois que le thread a répondu à la demande d’ Abort()
, il passe à l’état Arrêté . Alors, quelle est la fonction de l’état Aborted ?
Un thread est bloqué si son exécution a été suspendue par l’une des primitives de synchronisation, telle qu’un verrou ou un mutex. Tout fil qui effectue un travail utile à un moment donné est, par définition, non bloqué à ce moment.
Le cycle AbortRequested/Stopped
permet au thread d’effectuer un arrêt ordonné en libérant les ressources acquises et en effectuant d’autres tâches de nettoyage.
Réponses à vos questions: