mutex.cpp
来自「MONA是为数不多的C++语言编写的一个很小的操作系统」· C++ 代码 · 共 50 行
CPP
50 行
/*----------------------------------------------------------------------
Mutex
----------------------------------------------------------------------*/
#include <monapi.h>
namespace MonAPI {
Mutex::Mutex() : destroyed_(false)
{
mutexId_ = syscall_mutex_create();
}
Mutex::Mutex(dword mutexId) : destroyed_(false)
{
mutexId_ = mutexId;
}
Mutex::~Mutex() {
if (!destroyed_)
{
destroy();
}
}
int Mutex::lock()
{
return syscall_mutex_lock(mutexId_);
}
int Mutex::unlock()
{
return syscall_mutex_unlock(mutexId_);
}
int Mutex::tryLock()
{
return syscall_mutex_trylock(mutexId_);
}
int Mutex::destroy()
{
if (destroyed_) return 0;
destroyed_ = true;
return syscall_mutex_destroy(mutexId_);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?