博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
以对象来管理资源
阅读量:5986 次
发布时间:2019-06-20

本文共 526 字,大约阅读时间需要 1 分钟。

hot3.png

              C++中局部变量在作用域里的构造和析构行为,为资源的管理提供了灵活安全的解决之道。

              下面以多线程的锁来举例
               

#ifndef LOCK_H
#define LOCK_H
 
class Lock
{
public:
Lock(Mutex &m);
~Lock();
Mutex *mutex;
};
 
#endif // LOCK_H
#include "lock.h"
 
Lock::Lock(Mutex &m):mutex(&m)
{
mutex->lock();//加锁
}
Lock::~Lock()
{
mutex->unlock();//解锁
}
#include 
#include "lock.h"
 
using namespace std;
void makeLock(Mutex &m);
int main()
{
cout << "Hello World!" << endl;
return 0;
}
void makeLock(Mutex &m)
{
Lock l(m);
//dosomething...抛出异常也不会导致锁不能解开
 
 
}
 
 
 
 

转载于:https://my.oschina.net/u/854744/blog/418425

你可能感兴趣的文章
excel字符处理函数
查看>>
RegSetValueEx 计算WCHAR字符长度 wcslen
查看>>
Oracle创建database link总结
查看>>
字体大宝库:向设计师推荐20款好看的英文装饰字体
查看>>
Extjs 报表同值合并方法
查看>>
Java 泛型 (二)
查看>>
解决为什么svn没有对号等符号的问题。
查看>>
python 对象模型
查看>>
webservice是什么?
查看>>
分享:QT 5.0 正式版发布,支持 C++11
查看>>
分布式服务器学习心得
查看>>
青橙CEO蔡晓农:给大众高性价比智能机
查看>>
《Head First设计模式》 读书笔记01 策略模式
查看>>
Java中包的理解
查看>>
润乾报表 - 在页面间传递、接收和使用参数
查看>>
nutch 设置抓取间隔策略
查看>>
Encoding类
查看>>
C++ 11 中的右值引用
查看>>
myeclipse修改乱码(编码格式修改)(转)
查看>>
ASP.NET 用 FlexPaper 在页面上显示 PDF 文件
查看>>