Ein mehrere Threads auf einer ein einzigsten CPU laufen nacheinander, jeder für eine bestimmte Zeit. Durch den Overhead zur Verwaltung der Threads verbrauchen diese im gesamten mehr Rechnezeit als wenn man mit einem Thread die gleiche Aufgabe am Stück erledigt.
Thread lohne immer dann wenn der Thread selber auf bestimmte Ereignisse des
OS warten muß. Zb. die Serielle Schnittstelle signalisiert per Events das neue Daten angekommen sind. Der Thread wartet auf dieses Signal die meiste Zeit und liegt defakto schlafen, er verbraucht keinerlei Rechenzeit.
Würde man auf diese Weise in einem einzigsten Thread zb. 5 serieller Schnittstellen abfragen wollen so ginge dies nur pr Polling. D.h. dieser sinle Thread verschleudert die meiste Rechenzeit damit sinnlos nachzufragen ob neue Daten angekommen sind.
Gruß Hagen