⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guard.cc.svn-base

📁 德国Erlangen大学教学操作系统源码。
💻 SVN-BASE
字号:
/*****************************************************************************//* Betriebssysteme                                                           *//*---------------------------------------------------------------------------*//*                                                                           *//*                                G U A R D                                  *//*                                                                           *//*---------------------------------------------------------------------------*//* Mit Hilfe dieser Klasse koennen Aktivitaeten, die einen kritischen        *//* Abschnitt betreffen, der mit einem Guard-Objekt geschuetzt ist, mit       *//* Unterbrechungsbehandlungsroutinen synchronisiert werden, die ebenfalls    *//* auf den kritischen Abschnitt zugreifen.                                   *//*****************************************************************************/#include "guard/guard.h"#include "guard/gate.h"Guard::Guard()	: epilogues(){}Guard::Guard(Guard &guard){}Guard::~Guard(){	leave();}void Guard::leave(){	for(Chain *item = epilogues.dequeue(); item != 0; item = epilogues.dequeue()) {		Gate *gate = static_cast<Gate*>(item);		gate->queued(false);		gate->epilogue();	}			retne();	// Chain *item = epilogues.dequeue();	// if(item != 0)		// relay(static_cast<Gate*>(item));}void Guard::relay (Gate* item){	if(avail()) {		enter();		item->epilogue();		leave();	} else if(!item->queued()) {		item->queued(true);		epilogues.enqueue(item);	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -