История изменений
Исправление shahid, (текущая версия) :
https://lwn.net/Articles/256433/
Вот это важнее знать наизусть, как и всю книгу. Особенно наизусть заучить про стоимость реального переключения контекста на CPU.
Из-за ценника, на стороне среды исполнения обычно пул из готовых потоков обслуживает работу многопоточного приложения, принимая на вход задачи и раскидывая их по свободным потокам из пула.
Очевидно, при прямых руках, ~неблокирующем коде и асинхронном I/O (где возможно) легко достичь оптимального размера пула потоков == кол-ву CPU в системе, вешая немногочисленные слишком блокирующие операции на отдельный пул потоков.
Исходная версия shahid, :
https://lwn.net/Articles/256433/
Вот это важнее знать наизусть, как и всю книгу. Особенно наизусть заучить про стоимость реального переключения контекста на CPU.
Из-за ценника, на стороне среды исполнения обычно пул из готовых потоков обслуживает работу многопоточного приложения, принимая на вход задачи и раскидывая их по свободным потокам из пула.
Очевидно, при прямых руках, ~неблокирующем коде и асинхронном I/O (где возможно) легко достичь оптимального размера пула потоков == кол-ву CPU в системе, вешая немногочисленные слишком блокирующие операции на отдельный пул потоков.