Здравствуйте, barney, Вы писали:
B>Мне нравится идея максимально заполнять ядра процессора работой, B>с помощью work queue или thread pool B>Увы, они реализованы внутри тоже с применением cond_variable и эти потоки "засыпают" через вызов функций ядра.
Только когда нет работы. Когда она есть — им незачем спать.
Короткий момент в mutex_lock, когда другие воркеры разбираются с задачами и их отсутствием, не считаем.
B>Т.к кусочки работы могут быть вполне небольшими — например обновить значение текстовой строки в UI по возвращению данных из сети и тд. B>Впрочем, если бы можно было переключать потоки из user mode легковесным образом, (тут уже обсуждали выше user mode таймер) B>была бы чистая шустрая и элегантная система воркеров!