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 + -
显示快捷键?