文章
8
粉丝
41
获赞
0
访问
251
// 定义信号量
semaphore empty = N; // 缓冲区空单元数量
semaphore mutex = 1; // 互斥访问缓冲区
semaphore odd = 0; // 缓冲区中奇数数量
semaphore even = 0; // 缓冲区中偶数数量
// 进程P1
void P1() {
while (1) {
int num = produce(); // 生成正整数
P(empty);
P(mutex);
put(num); // 送入缓冲区
if (num % 2 == 1) { // 奇数
V(odd);
} else { // 偶数
V(even);
}
V(mutex);
}
}
// 进程P2
void P2() {
while (1) {
P(odd);
P(mutex);
int num = getodd(); // 取出奇数
V(mutex);
V(empt...
登录后发布评论
暂无评论,来抢沙发