只使用信號(非實時)來實現這種情況的方式是什麼? :使用信號同步
存在N個孩子的(進程,由fork()
創建的),1個父,並且同步必須是這樣的:
- 父等待任何子信號。
- 每個孩子發信號給家長,然後阻塞,直到從父接收 信號
- 父發送信號到孩子,其中信號,他注意到
我不知道該怎麼辦,因爲有隻有2個用戶自定義信號SIGUSR1,SIGUSR2,但我有N個孩子的,所以很多孩子只能使用一種類型的信號,恐怕它
任何想法?..
只使用信號(非實時)來實現這種情況的方式是什麼? :使用信號同步
存在N個孩子的(進程,由fork()
創建的),1個父,並且同步必須是這樣的:
我不知道該怎麼辦,因爲有隻有2個用戶自定義信號SIGUSR1,SIGUSR2,但我有N個孩子的,所以很多孩子只能使用一種類型的信號,恐怕它
任何想法?..
你不需要使用那些用戶defi ned信號你可以發送任何信號給任何孩子..或父母你所要做的只是使用signal()
或sigaction()
系統功能...並從該信號的ISR發送信號給特定的孩子
如果你真想只有信號做同步,(這是不是一個好主意)
可以使用sigqueue,發件人,並sigaction的作爲接收器,
它允許你添加int或指針到另一個進程。
所以接收者可以通過附加信息來識別發送者。