西电李航 操作系统课程笔记 day3 classic IPC problem
@[toc]classic IPC problem哲学家就餐问题(Dining Philosophers Problem)易产生死锁错误解法会死锁解法while(true) { think(); take_forks(i); eat(); put_forks(i); }记录各个哲学家状态,每次尝试吃时检测相邻的两个哲学家状态mutex保护状态表state[N],s[N]信号表示拿起叉子,用于同步操作(test()通过时s[i]为1,take_forks()才能最后down.
复制链接