进程之间的前趋关系
在多道程序环境下,进程之间存在两种制约关系:
(1)间接相互制约关系,称为进程互斥。
(2)直接相互制约关系,称为进程同步。(常用前趋图表示)
利用信号量实现进程同步
在进程之间的直接相互制约关系中,划出前趋线。
(1)为每条前趋线设置一个信号量,,如S,赋初值。
(2)在每条前趋线的箭头前插入wait(S)原语,作为进入区;
(3) 在每条前趋线的箭尾后插入signal(S)原语,作为退出区;
注意:wait和signal成对出现在不同的进程中。
进程同步的应用
在这个前趋图中,共有7条前趋线。
(1)为每条前趋线各设置一个信号量,如a、b、c、d、e、f、g,赋初值为0。
(2)在每条前趋线的箭头前插入wait()原语,作为进入区;
(3) 在每条前趋线的箭尾后插入signal(S)原语,作为退出区;
从而利用信号量机制,实现了进程的同步问题。
在下图中,利用信号量机制、实现进程同步的代码
进程的前趋关系及同步机制
最新推荐文章于 2024-03-25 12:50:19 发布