Thread: ist ein echter OS-Thread, hat Handle und ID.
ThreadPool: ist eine Sammlung von bereits erstellten Betriebssystem-Threads. Diese Threads werden von der Laufzeit verwaltet/verwaltet, und Ihr Code darf sie nur für eine Weile "ausleihen". Sie können nur Kurzarbeit in diesen Threads ausführen und Sie können keinen Thread-Status ändern oder löschen diese Fäden.
beste Vermutungen auf diesen beide:
Aufgabe: könnte auf einem bereits erstellten Thread im Thread-Pool laufen lassen, oder vielleicht als Teil des User-Mode-Scheduling fahren wird, ist das alles je nachdem, was die Laufzeit denkt, ist am besten. Noch eine Vermutung: Bei TPL basiert die Benutzermodus-Planung NICHT auf OS Fibers, sondern ist ihre eigene vollständige (und funktionierende) Implementierung.
Parallel.For: eigentlich, keine Ahnung, wie dies implementiert ist. Die Laufzeitumgebung erstellt möglicherweise neue Threads für die parallelen Bits oder verwendet die Threads des Thread-Pools sehr wahrscheinlich für die Parallelität.
Ausgezeichnetes Buch , Concurrent Programming unter Windows, gut gelesen, zumindest die Hälfte habe ich bisher gemacht ;-) –