Другими словами, какие преимущества имеет гибридная многопоточность по сравнению с 1: 1 (только для ядра) и N: 1 (только для пользователя)?
Это продолжение к тому, В чем разница между потоками уровня пользователя и потоками уровня ядра?
Другими словами, какие преимущества имеет гибридная многопоточность по сравнению с 1: 1 (только для ядра) и N: 1 (только для пользователя)?
Это продолжение к тому, В чем разница между потоками уровня пользователя и потоками уровня ядра?
Ответы:
Я думаю, что гибридные потоки очень похожи на пул потоков .
Преимущество перед многопоточностью только в том, что вы можете использовать несколько процессоров или несколько процессорных ядер. И если одна задача блокируется, вы можете создать другой поток ядра для более эффективного использования доступного процессора.
Таким образом, вы получаете преимущества обоих подходов за счет некоторого дополнительного планирования в режиме пользователя.
Недостатком по сравнению с планированием только для ядра является, возможно, большая задержка: если все потоки в пуле заняты, и вы добавляете новую короткую задачу, вы можете долго ждать, прежде чем она начнет выполняться.