跪求“编程实现P、V原语并用P、V原语哲学家就餐问题”急啊
用C++或者C都行
[解决办法]
google很多啊
按最简单的编号方法
const int N = 5;eat(int p){ if (p == 0) { P(fk[0]);P(fk(N-1)); } else { P(fk[p - 1]);P(fk(p)); }}think(int p){ if (p == 0) { V(fk(N-1));V(fk[0]); } else { V(fk(p));V(fk[p - 1]); }}action(int p) {while(1){eat(p) sometime;think(p) sometime;}}fn(){ int fk[5] = {1, 1, ...}; for (int i = 0; i < N; ++i) beginthread action(i);}