2013-04-10 103 views
2

我有點新的unix編程,我需要一些幫助。C多個進程之間的UNIX信號量同步

我想要做一些事情,比如用信號量忙等待。 我有多個由父母分叉的procesess。在這個父母中,我創建了一個Semaphore。 非常抱歉,我需要一個像barrier.I想告訴所有的子進程,當另一個孩子已經完成他的init部分。我想等待,直到所有的子進程已完成他們的初始化,然後我想開始大量計算。

回答

2

這些步驟並非真正專用於UNIX。

在父項中,創建一個值與子項數相同的信號量。

當每個孩子完成初始化時,孩子減少信號量並等待零。

當信號量達到零時,所有的孩子都會被初始化,你可以做別的事情。