📄 c_mutex.cpp
字号:
#include "c_mutex.h"
//将锁进行初始化
void c_mutex::init()
{
pthread_mutexattr_t _attr;
pthread_mutexattr_init(&_attr);
pthread_mutexattr_setpshared( &_attr, PTHREAD_PROCESS_SHARED );
pthread_mutex_init(_mutex, &_attr);
pthread_mutexattr_destroy(&_attr);
}
//1-锁成功 0--未成功
bool c_mutex::tryEnterMutex(void)
{
return (pthread_mutex_trylock(_mutex) == 0) ? true : false;
}
void c_mutex::enterMutex(void)
{
pthread_mutex_lock(_mutex);
}
void c_mutex::leaveMutex(void)
{
pthread_mutex_unlock(_mutex);
}
c_mutex::c_mutex()
{
}
c_mutex::~c_mutex()
{
//pthread_mutex_destroy(_mutex);
}
bool c_mutex::unlockMutex(int times)
{
int i;
for( i = 0; i < times; i++)
{
if( tryEnterMutex() == 1 )
{
break;
}
else
{
sleep(1);
}
}
leaveMutex();
return true;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -