Thread est d'abord un objet géré, vous connaissez la classe System.Threading.Thread. C'est ensuite un objet interne du CLR, une classe C++ également nommée Thread. Il y a plutôt une quantité massive de plomberie impliquée avec lui, style iceberg. Cette plomberie utilise certainement des objets du noyau, cinq d'entre eux. Quelque chose que vous pouvez voir dans Taskmgr.exe . L'un d'entre eux est le gestionnaire de threads natif du système d'exploitation, les quatre autres sont un peu mystérieux mais sont probablement des gestionnaires d'objets de synchronisation.
Le découplage de Thread avec les objets threads réels de Windows dans .NET 2.0 est assez infâme. C'est seulement techniquement possible, mais personne de connu n'a jamais implémenté un hôte CLR pour le faire fonctionner. C'était un projet important pour l'équipe SQL Server de mettre en œuvre Thread avec des fibres et ils ont abandonné. Ils n'ont pas réussi à le rendre suffisamment fiable. Cela n'a pas été essayé depuis, à ma connaissance.