进程问题(哲学家进餐C++实现)

OS的题目我还是写伪代码吧。(菜哭

void move(){
    
    
    do{
    
    
        think();
        int i;
        for(i=0;i<5;++i){
    
    
            bool temp=wait(chopsticks[i],chopsticks[(i+1)%5]);
            if(temp==true){
    
    
                eat(i);
                release(chopsticks[i],chopsticks[(i+1)%5]);
            }
        }
    }while(1);
}

这里主要是and信号量机制

核心是wait(chopsticks[i],chopsticks[(i+1)%5])

猜你喜欢

转载自blog.csdn.net/qq_43477024/article/details/109680088