In altre parole, quali vantaggi ha il threading ibrido rispetto al threading 1: 1 (solo kernel) e N: 1 (solo utente)?
Questo è il seguito di Qual è la differenza tra thread a livello di utente e thread a livello di kernel?
In altre parole, quali vantaggi ha il threading ibrido rispetto al threading 1: 1 (solo kernel) e N: 1 (solo utente)?
Questo è il seguito di Qual è la differenza tra thread a livello di utente e thread a livello di kernel?
Risposte:
Penso che il threading ibrido sia molto simile a un pool di thread .
Il vantaggio rispetto al threading utente è che puoi sfruttare più CPU o più core CPU. E se un task si blocca, è possibile creare un altro thread del kernel per utilizzare la CPU disponibile in modo più efficiente.
Quindi, si ottengono i vantaggi di entrambi gli approcci, a scapito di una pianificazione aggiuntiva in modalità utente.
Uno svantaggio rispetto alla sola pianificazione del kernel è probabilmente una latenza maggiore: se tutti i thread nel pool sono occupati e si aggiunge una nuova attività breve, è possibile attendere molto tempo prima che inizi l'esecuzione.