文章
6
粉丝
0
获赞
1
访问
194
(1) 实现C1的代码是临界区, 因为在C1中进程P1和P2都对同一个共享缓冲区B进行了访问。
(2) semaphore mutex = 1; // 用于互斥访问缓冲区B
semaphore full = 0; // 用于通知B中有数据
Process P1() {
wait(mutex); // 互斥访问缓冲区B
C1;
signal(mutex);
signal(full); // 通知进程P2缓冲区B中数据不为空
}
Process P2() {
wait(full); // 等待缓冲区B中的数据
wait(mutex); // 互斥访问缓冲区B
C2;
signal(mutex);
}
(3) semaphore mutex = 1; // 用于互斥访问缓冲区B
Process P1() {
wait(mutex); // 互斥访问缓冲区B
C3...
登录后发布评论
暂无评论,来抢沙发