标签: c pthreads ipc semaphore producer-consumer
我使用Producer-Consumer在C语言中编写。
我有一个流程通过共享内存与N个消费者通信。为了实现这一点,我使用信号量。但是,我的流程需要等待消费者发送一些数据的不确定时间。
除了sleep(1)之外还有什么方法可以实现这一点并继续检查新数据吗? 在最坏的情况下,这可能导致1秒延迟(进程睡眠和消费者在睡眠后立即写入)。
sleep(1)
我正在使用1组2个信号量(1个信号量用于消费者之间的优先级队列,1个信号量用于主要流程 - 关键部分的消费者)。