📄 哲学家(vc).txt
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -