哲学家(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 + -
显示快捷键?