organizer.cc.svn-base

来自「德国Erlangen大学教学操作系统源码。」· SVN-BASE 代码 · 共 56 行

SVN-BASE
56
字号
/*****************************************************************************//* Betriebssysteme                                                           *//*---------------------------------------------------------------------------*//*                                                                           *//*                          O R G A N I Z E R                                *//*                                                                           *//*---------------------------------------------------------------------------*//* Ein Organizer ist ein spezieller Scheduler, der zusaetzlich das Warten    *//* von Threads (Customer) auf Ereignisse erlaubt.                            *//*****************************************************************************/#include "thread/organizer.h"#include "device/cgastr.h"extern CGA_Stream kout;Organizer::Organizer(){}Organizer::Organizer(Organizer& organizer){}Organizer::~Organizer(){}void Organizer::block (Customer& customer, Waitingroom&  waitingroom){	customer.waiting_in(&waitingroom);	_blocked.enqueue(&customer);	Scheduler::kill(customer);}void Organizer::wakeup (Customer& customer){	Waitingroom* waitingroom = customer.waiting_in();	if(waitingroom) 		waitingroom->remove(&customer);	_blocked.remove(&customer);	ready(customer);}void Organizer::kill (Customer& that){	Waitingroom* waitingroom = that.waiting_in();	if(waitingroom) {		waitingroom->remove(&that);		_blocked.remove(&that);	} else {		Scheduler::kill(that);	}}

⌨️ 快捷键说明

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