Linux学习之互斥量的封装一:封装创建(pthread_mutex_init)和销毁(pthread_mutex_destroy)
2011-10-21 18:00
836 查看
本节的源程序基于"Linux学习之线程封装四:基于接口的封装"一节。
增加了封装的互斥量类"CLMutex"(互斥量的创建封装进构造函数,销毁封装进析构函数,还结合CLLog类增加了错误处理)。
头文件:
View Code
简化了一定的操作。
增加了封装的互斥量类"CLMutex"(互斥量的创建封装进构造函数,销毁封装进析构函数,还结合CLLog类增加了错误处理)。
头文件:
View Code
#include <iostream> #include "CLThread.h" #include "CLExecutiveFunctionProvider.h" #include "CLMutex.h" using namespace std; struct SPara { int Flag; CLMutex mutex; }; class CLMyFunction : public CLExecutiveFunctionProvider { public: CLMyFunction() { } virtual ~CLMyFunction() { } virtual CLStatus RunExecutiveFunction(void *pContext) { SPara *p = (SPara*)pContext; p->mutex.Lock(); p->Flag++; p->mutex.Unlock(); return CLStatus(0, 0); } }; int main() { CLExecutiveFunctionProvider *myfunction = new CLMyFunction(); CLExecutive *pThread = new CLThread(myfunction); SPara *p = new SPara; p->Flag = 3; pThread->Run((void *)p); p->mutex.Lock(); p->Flag++; cout << p->Flag << endl; p->mutex.Unlock(); pThread->WaitForDeath(); delete p; delete pThread; delete myfunction; return 0; }
简化了一定的操作。
相关文章推荐
- pthread_mutex_init() -- 互斥锁初始化|pthread_mutex_destroy()--互斥锁销毁
- pthread_mutex_init() -- 互斥锁初始化|pthread_mutex_destroy()--互斥锁销毁
- Linux学习-线程的创建和终止-(出现错误-undefined reference to 'pthread_create')
- 78——创建对象之,初始化(init-method)和销毁(destroy-method)(6条)
- 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
- 线程退出【Linux学习】pthread_create主线程与创建的新线程之间退出关系
- Linux pthread_mutex_init()函数
- 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
- 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
- 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
- Linux之多线程及互斥锁pthread_mutex_t的学习
- 【Linux学习】pthread_create主线程与创建的新线程之间退出关系
- Linux驱动学习笔记(6)信号量(semaphore)与互斥量(mutex)【转】
- Linux学习之互斥量的封装二:封装临界区
- Linux pthread_mutex_init()函数
- 学习Linux二(创建、删除文件和文件夹命令)
- linux学习笔记1:使用VM创建一台虚拟机
- 转自IBM学习 浅析 Linux 初始化 init 系统,第 1 部分 SysVinit
- Linux目录创建删除,文件查看,cp命令学习笔记
- 使用VMWare虚拟机创建CentOS版本的Linux学习环境