Я пытаюсь реализовать модель производителя-потребителя, чтобы разделить анализ и запись данных (собранных в результате анализа) в части моего инструмента булавки. Просматривая API потоков PIN, я не смог найти никаких функций, которые могут приостанавливать поток на основе некоторого предиката или сигнализировать потоку о возобновлении (например, pthread_cond_wait()
и pthread_cond_signal()
в потоках POSIX). Итак, есть ли какой-либо обходной путь для достижения модели производителя-потребителя с использованием существующих функций, избегая ожидания в режиме ожидания?
ПРИМЕЧАНИЕ. Потоки как производителя, так и потребителя являются внутренними потоками, созданными PIN_SpawnInternalThread()
.