这篇文章主要介绍“怎么实现简易mutex互斥锁”,在日常操作中,相信很多人在怎么实现简易mutex互斥锁问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现简易mutex互斥锁”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
mutex为了一个类,实例化出对象有基本的lock/unlock函数,同一个对象lock时,若再执行lock会等待,避免多线程资源调用冲突,手动实现:
#pragma once
class mutex
{
public:
mutex() :T(false) {};
int lock();
int unlock();
private:
bool T;
};
#include "mutex.h"
int mutex::lock()
{
while(T){ }
T = true;
return 0;
}
int mutex::unlock()
{
while (!T){}
T = false;
return 0;
}
到此,关于“怎么实现简易mutex互斥锁”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注天达云网站,小编会继续努力为大家带来更多实用的文章!