注:
semaphore mutex = 1;
P1(){
...
P(mutex);
临界区代码段...
V(mutex);
...
}
P2(){
...
P(mutex);
临界区代码段...
V(mutex);
...
}
同步机制应遵循的规则:
空闲让进
忙则等待
有限等待
让权等待:当进程不能进入自己的临界区,应释放CPU,以免进程处于忙等状态
分析在什么地方需要实现“同步关系”,即必须保证“一前一后”执行的两个操作
设置同步信号量,初始为0
在前操作之后执行V(S)
在后操作之前执行P(S)
P1(){
...
V(S);
...
}
P2(){
P(S);
...
}
操作系统——2.2-2用信号量机制实现进程互斥,进程同步,前驱关系
原文:https://www.cnblogs.com/zyqya/p/12919026.html