C++并发编程:从基础到实践
1. RAII技术与错误处理
RAII(资源获取即初始化)技术是一种在C++中广泛使用的资源管理技术。当 file_guard 对象超出作用域时,它会自动关闭相关资源。这种技术无论系统是否支持异常都能发挥作用。通过RAII封装资源,能确保在离开RAII对象所在的作用域时,资源会被自动释放。
在 file_guard 示例中,移除了拷贝构造函数和拷贝赋值运算符,只保留移动构造函数和移动运算符,这表明该RAII对象不可拷贝。C++常被质疑没有 finally 结构,但C++发明者Bjarne Stroustrup解释说RAII是更好的替代方案。在实际代码中,资源的获取和释放操作众多,使用RAII比 finally 能减少代码量,且更不易出错,因为RAII包装器只需编写一次,无需手动释放资源。标准库中有许多RAII对象的例子,如 std::unique_ptr 、 std::lock_guard 和 std::fstreams 。
2. 并发编程基础
在C++中处理POSIX API时,有多种错误处理技术。使用 errno (线程局部变量)和 strerror 函数可以处理错误。 std::error_code 和 std::error_condition 能封装POSIX错误,自定义错误类别可用于比较不同来
超级会员免费看
订阅专栏 解锁全文
2123

被折叠的 条评论
为什么被折叠?



