C++ 互斥量的封装
来源:互联网 发布:各种排序算法 编辑:程序博客网 时间:2024/06/06 05:11
贡献自己写的部分代码,希望能帮助到有需要的人。
代码可以在Windows/Linux下运行,可以作为一个基础类。
头文件
mutex.h
#ifndef MUTEX_H#define MUTEX_H#ifdef WIN32typedef void* HANDLE;#else#include <pthread.h>#endifclass Mutex{public: Mutex(void); ~Mutex(void); void lock(void); void unlock(void);#ifdef WIN32 HANDLE m_handle;#else pthread_mutex_t m_handle;#endif};#endif
mutex.cpp
#ifdef WIN32#include <Windows.h>#endif#include "mutex.h"Mutex::Mutex(void){#ifdef WIN32 m_handle = ::CreateMutexA(NULL, FALSE, NULL);#else pthread_mutex_init(&m_handle, NULL);#endif}Mutex::~Mutex(void){#ifdef WIN32 ::CloseHandle(m_handle);#else pthread_mutex_destroy(&m_handle);#endif}void Mutex::lock(void){#ifdef WIN32 WaitForSingleObject(m_handle, INFINITE);#else pthread_mutex_lock(&m_handle);#endif}void Mutex::unlock(void){#ifdef WIN32 ::ReleaseMutex(m_handle);#else pthread_mutex_unlock(&m_handle);#endif}
阅读全文
0 0
- C实现-CPP的-封装
- Object-c------类的封装
- Problem C: 整数的封装
- Problem C: 整数的封装
- Problem C: 整数的封装
- Problem C: 整数的封装
- 模块的封装(一):C语言类的封装
- C#--封装
- 【C#】封装
- 用C语言封装的线性表
- 用C语言封装的链表
- 对串口通讯的封装(C++)
- 纯c封装的一个队列
- objective-c 自动封装类的属性
- fortran中调用C封装的函数
- 【C++】多个类的DLL封装及调用
- 【C++】多个类的DLL封装及调用
- 一种Lua到C的封装
- 【Android学习】Window和WindowManager
- hdoj 6231 K-th Number
- python内置函数lambda、filter、map、reduce
- ROS中rviz添加urdf文件显示机器人模型
- 因为user中文名称造成的错误解决方法 错误集合001
- C++ 互斥量的封装
- java 垃圾回收
- python 判断数据类型
- 《大话设计模式》之代理模式
- Vue-cli项目中,引入css、js或者引入组件,检查后未发现错误,npm红叉报错原因
- Shell监控服务器状态
- springmvc+mybatis项目中的统一异常处理器
- uVision4 IDE 已停止工作
- svn:工作副本已锁定解决方法