Производитель Потребитель с внутренней резьбой intel-pin

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

ПРИМЕЧАНИЕ. Потоки как производителя, так и потребителя являются внутренними потоками, созданными PIN_SpawnInternalThread().


person Genesis    schedule 01.06.2015    source источник
comment
Не знаю, как обрабатывать внутренние потоки PIN-кода в режиме prod/cons, но пытались ли вы использовать API с быстрой буферизацией?   -  person Neitsa    schedule 11.06.2015


Ответы (1)


Я рекомендую вам использовать класс семафора, предоставленный в Pin API. Вы можете найти примеры решений производителя/потребителя, использующих семафоры в Windows.

person nitzanms    schedule 08.07.2015