У меня есть программа, которая должна максимально использовать возможности моего процессора.
Он многопоточен через pthreads, которые хорошо выполняют свою работу, за исключением того факта, что они «только» нагружают мои ядра примерно до 60%, чего, на мой взгляд, недостаточно.
Я ищу причину и спрашиваю я (и настоящим вы), если блокирующие функции mutex_lock / cond_wait являются кандидатами?
Что происходит, когда поток не может работать в такой функции?
С уважением,
Никто
Дополнительная информация Параметр представляет собой один основной поток, который заполняет пул задач и бесчисленное количество рабочих, которые получают задания оттуда и ждут условного условия, о котором сигнализирует через широковещательную рассылку, когда выполняется сериализованное вычисление. Они продолжают использовать значения из этого расчета, пока не закончат, доставят почту и не получат следующую работу ...