【发布时间】:2013-07-07 11:14:28
【问题描述】:
使用 C++,我计划让一个 producer 进程写入数据 vector,然后几个 consumer 进程读取该数据。将有一个共享内存段(Boost::Interprocess)存储数据vector。问题是:我无法控制第三方应用程序启动进程的顺序,可能是consumer 可能在producer 产生任何数据之前启动。有哪些机制可用于协调进程,以便可以命令consumer 进程耐心等待,直到producer 发出数据准备好的信号;无论进程启动的顺序如何?
【问题讨论】: