文章

77

粉丝

9

获赞

2

访问

7.4k

头像
【2019年】408计算机统考真题模拟考试 - 第43题答案笔记
操作系统
发布于2024年11月4日 15:27
阅读数 95

计算机考研408统考历年真题及答案解析
int bowl = m;
int chopsticks[n];
semaphore mutex = 1;//一把大锁,用于一次性获取所有资源才能吃饭

philosopher_i {
    while(1) {
        P(mutex);
            if (!bowl && !chopsticks[i] && !chopsticks[(i+1)%n]) {
                bowl--;
                chopsticks[i]--;
                chopsticks[(i+1)%n]--;
            } else {
                V(mutex);
                思考;
                continue;
            }
         V(mutex);
         吃饭;
         
         P(mutex);
         bowl++;
         chopsticks[i]++;
         chopsticks[(i+1)%n]++;
         V(mutex);
         思考;
    }
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发