使用计数信号量进行进程同步

时间:2015-02-13 21:33:26

标签: operating-system synchronization semaphore

我有一个关于计算信号量的问题,我想知道我的实现是否正确,或者它是否在某处死锁。

有5个进程,P1,P2,P3,P4,P5需要按以下顺序执行:

P2 and P3 must execute after P1 completes.
    • P4 must execute after both P2 and P3 complete.
    • P5 must execute after both P2 and P3 complete.

我的方法:我在想的是有两个计数信号量S1和S2。 P2和P3在S1上等待,P4和P5在S2上等待。最初两者都有一个值0. P1完成执行后,在S1上发布两次,将其值增加到2.然后P2和P3可以执行。 P4和P5必须两次获得S2。因此,在P2和P3完成后,它们在S2上一起发布两次,将其值增加到2,因此P4和P5可以执行。

这是对的吗?或者在某些情况下是否会陷入僵局?

0 个答案:

没有答案