dispatch.cc.svn-base

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

SVN-BASE
47
字号
/*****************************************************************************//* Betriebssysteme                                                           *//*---------------------------------------------------------------------------*//*                                                                           *//*                          D I S P A T C H E R                              *//*                                                                           *//*---------------------------------------------------------------------------*//* Implementierung des Dispatcher.                                           *//* Der Dispatcher verwaltet den life-Pointer, der die jeweils aktive         *//* Koroutine angibt. mit go() wird der life Pointer initialisiert und die    *//* erste Koroutine gestartet, alle weiteren Kontextwechsel werden mit        *//* dispatch() ausgeloest. active() liefert den life Pointer zurueck.         *//*****************************************************************************/#include "thread/dispatch.h"Dispatcher::Dispatcher()	: life(0){}Dispatcher::Dispatcher(Dispatcher &obj){}Dispatcher::~Dispatcher(){}	void Dispatcher::go(Coroutine& first){	life = &first;	first.go();}void Dispatcher::dispatch(Coroutine& next){	Coroutine *last = life;	life = &next;	last->resume(next);}Coroutine* Dispatcher::active(){	return life;}

⌨️ 快捷键说明

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