2017-09-26 161 views

回答

2

简短的回答是:是的。

如果进程内同步,你可以简单地模仿一个用互斥锁+条件变量:

C++0x has no semaphores? How to synchronize threads?

不过请注意,通常是互斥+条件变量都行,具体情况通常不采取柜台的形式。 (例如Synchronizing three threads with Condition Variable

对于进程间同步,可以使用指定的信号量。示例:How to limit the number of running instances in C++请注意,存在实施差异¹。

¹例如boost中的named_semaphore分配它自己的共享资源,而在ACE中,它假定用户从现有的共享空间分配它。在boost中,只要您的平台支持共享内存中的本机同步原语,您显然也可以这样做。

+0

它用于进程内通信。我也会编辑我的问题。谢谢(你的)信息。 – C0D3R

相关问题