我正在尝试实现一个生产者消费者模型,以将我的 pin 工具的分析和记录数据(从分析中收集)部分分开。通过 PIN 线程 API,我找不到任何可以根据某些谓词暂停线程或发出线程恢复信号的函数(如 pthread_cond_wait()
和 pthread_cond_signal()
在 POSIX 线程中)。那么,是否有任何解决方法可以使用现有函数实现生产者消费者模型,同时避免忙等待。
注意:生产者线程和消费者线程都是由 PIN_SpawnInternalThread()
创建的内部线程。
最佳答案
我建议您使用 Pin API 中提供的信号量类。您可以找到在 Windows 中使用信号量的生产者/消费者解决方案示例。
关于c++ - Producer Consumer 使用 intel-pin 内线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30580063/