哲学家(vc).txt
来自「操作系统知识」· 文本 代码 · 共 65 行
TXT
65 行
CMutex StickLeft(FALSE,"StickLeft",NULL);
CMutex StickRight(FALSE,"StickRight",NULL);
cin.get();
****************************************************
CMutex StickLeft(FALSE,"StickLeft",NULL);
CSingleLock PV(&StickLeft);
cout<<"要求使用左筷子";
cin.get();
PV.Lock();
cout<<"正在使用左筷子。。。。";
cin.get();
cout<<"左筷子使用完毕,准备通告";
cin.get();
PV.Unlock();
cout<<"正在思考。。。。";
cin.get();
******************************************************
CMutex StickRight(FALSE,"StickRight",NULL);
CSingleLock PV(&StickRight);
cout<<"要求使用右筷子";
cin.get();
PV.Lock();
cout<<"正在使用右筷子。。。。";
cin.get();
cout<<"右筷子使用完毕,准备通告";
cin.get();
PV.Unlock();
cout<<"正在思考。。。。";
cin.get();
******************************************************
CSyncObject * aStick[5];
aStick[2]=new CMutex(FALSE,"StickLeft",NULL);
aStick[3]=new CMutex(FALSE,"StickRight",NULL);
//CMutex StickLeft(FALSE,"StickLeft",NULL);
//CMutex StickRight(FALSE,"StickRight",NULL);
//aStick[2]=&StickLeft;
//aStick[3]=&StickRight;
CMultiLock PV(&(aStick[2]),2,FALSE);
cout<<"要求使用筷子";
cin.get();
PV.Lock();
cout<<"正在使用筷子。。。。";
cin.get();
cout<<"筷子使用完毕,准备通告";
cin.get();
PV.Unlock();
cout<<"正在思考。。。。";
cin.get();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?