Mit anderen Worten, welche Vorteile hat Hybrid-Threading gegenüber 1: 1 (nur Kernel) und N: 1 (nur Benutzer)?
Dies ist eine Fortsetzung von Was ist der Unterschied zwischen Threads auf Benutzerebene und Threads auf Kernelebene?
Mit anderen Worten, welche Vorteile hat Hybrid-Threading gegenüber 1: 1 (nur Kernel) und N: 1 (nur Benutzer)?
Dies ist eine Fortsetzung von Was ist der Unterschied zwischen Threads auf Benutzerebene und Threads auf Kernelebene?
Antworten:
Ich denke, dass Hybrid-Threading einem Thread-Pool sehr ähnlich ist .
Der Vorteil gegenüber dem Threading nur durch Benutzer besteht darin, dass Sie mehrere CPUs oder mehrere CPU-Kerne nutzen können. Wenn eine Task blockiert wird, können Sie einen weiteren Kernel-Thread erstellen, um die verfügbare CPU effizienter zu nutzen.
Auf diese Weise erhalten Sie die Vorteile beider Ansätze auf Kosten einer zusätzlichen Benutzermodusplanung.
Ein Nachteil gegenüber der Zeitplanung nur für den Kernel ist möglicherweise die höhere Latenz: Wenn alle Threads im Pool ausgelastet sind und Sie eine neue kurze Task hinzufügen, können Sie lange warten, bis die Ausführung beginnt.