Я пытаюсь реализовать потребительскую модель производителя, чтобы отделить анализ и записать данные (собранные из анализа) как часть моего инструмента. Проходя через API потока PIN, я не смог найти никаких функций, которые могли бы приостановить поток на основе некоторого предиката или дать сигнал потоку возобновиться (например, pthread_cond_wait()
а также pthread_cond_signal()
в темах POSIX). Итак, есть ли обходной путь для достижения модели потребителя производителя с использованием существующих функций, избегая при этом ожидания ожидания.
НОТА: Внутренние потоки создаются как производителями, так и потребителями. PIN_SpawnInternalThread()
,
Я рекомендую вам использовать класс семафоров, представленный в Pin API. Вы можете найти примеры решений производителя / потребителя, которые используют семафоры в Windows.