解决这个问题也很简单,使用c++中常见的RAII技术,即获取资源即初始化(Resource Acquisition Is Initialization)技术,这是c++中管理资源的常用方式。简单的说就是在类的构造函数中创建资源,在析构函数中释放资源,因为就算发生了异常,c++也能保证类的析构函数能够执行。我们不需要自己写个类包装mutex,c++库已经提供了std::lock_guard类模板,使用方法如下:
解决这个问题也很简单,使用c++中常见的RAII技术,即获取资源即初始化(Resource Acquisition Is Initialization)技术,这是c++中管理资源的常用方式。简单的说就是在类的构造函数中创建资源,在析构函数中释放资源,因为就算发生了异常,c++也能保证类的析构函数能够执行。我们不需要自己写个类包装mutex,c++库已经提供了std::lock_guard类模板,使用方法如下:
本文标题:RAII技术
本文链接:https://www.haomeiwen.com/subject/jnnzmctx.html
网友评论