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