📄 locker.h.svn-base
字号:
/*****************************************************************************//* Betriebssysteme *//*---------------------------------------------------------------------------*//* *//* L O C K E R *//* *//*---------------------------------------------------------------------------*//* Die Klasse Locker implementiert eine Sperrvariable, die verwendet wird, *//* um kritische Abschnitte zu schuetzen. Die Variable zeigt allerdings nur *//* an, ob der kritische Abschnitt frei ist. Ein eventuelles Warten und der *//* Schutz der fuer diese Klasse notwendigen Zaehlfunktion muss ausserhalb *//* erfolgen. *//*****************************************************************************/#ifndef __Locker_include__#define __Locker_include__#include "machine/cpu.h"extern CPU cpu;class Locker{public: inline Locker() : counter(0) { } inline Locker(Locker &locker) { } inline virtual ~Locker() { } inline void enter() { cpu.disable_int(); counter++; cpu.enable_int(); } inline void retne() { cpu.disable_int(); if(counter>0) counter--; cpu.enable_int(); } inline bool avail() { return counter==0; }//private: int counter;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -