C UNIX 多进程间信号量同步

Posted

技术标签:

【中文标题】C UNIX 多进程间信号量同步【英文标题】:C UNIX Semaphore synchronization between multiple process 【发布时间】:2013-04-10 15:09:49 【问题描述】:

我是 unix 编程的新手,我需要一些帮助。

我想做一些事情,比如用信号量忙等待。 我有多个由父级分叉的进程。在这个父级中,我创建了一个信号量。 基本上我需要像障碍一样的东西。我想在另一个孩子完成他的初始化部分时向所有子进程发出信号。我想等到所有子进程都完成他们的初始化,然后我想开始繁重的计算。

【问题讨论】:

【参考方案1】:

这些步骤并非真正特定于 UNIX。

在父级中,创建一个值与子级数相同的信号量。

当每个孩子完成它的初始化时,孩子递减信号量并等待为零。

当信号量达到零时,所有的孩子都被初始化,你可以做其他事情。

【讨论】:

以上是关于C UNIX 多进程间信号量同步的主要内容,如果未能解决你的问题,请参考以下文章

多进程编程之进程间通信

进程间通信方式及特点

进程间通信的信号

(转载)Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥)

多进程编程之进程间通信-管道和消息队列

进程间通信—信号量