深入实践boost读书笔记2
来源:互联网 发布:淘宝运营公司 编辑:程序博客网 时间:2024/05/21 21:34
秘籍38:boost::mutex表示互斥量,使用boost::lock_guard<boost::mutex>对象(它是一个RAII类)实现对互斥量的管理,构造函数lock(),析构函数unlock(),boost::recursive_mutex可以从单个线程中多次锁定互斥量,但是其运行速度慢,通常代表不良设计,所以一般不用。
秘籍39:boost::atomic提供系统原子操作的包装类,并为它们提供统一的、可移植性的接口。从不同线程使用boost::atomic是安全的,原子变量的各项操作将被系统视为单个事物。boost::atomic只能适用于POD类型,否则,其行为是未定义的。
秘籍40:boost::unique_lock也是一个RAII类,仅仅是一个有附加功能的lock_guard,有明确的加锁和解锁方法。condition_variable可以阻塞线程并等待被通知。wait方法阻塞线程,notify_one和notify_all可以通知阻塞线程不用阻塞了。
秘籍41:boost::shared_lock和boost::shared_mutex可用于创建共享所,当只需要读数据时,共享锁十分有用。
秘籍42,43,44:boost::thread_specific_ptr变量对每个线程拥有独立的指针。interrupt调用可以中断指针。boost::thre_group可以操纵一组线程。
秘籍45:boost::io_service变量可以存储和执行发送给它的任务,但是不能直接发送用户任务给它,因为它们可能抛出或者接受引发其他任务的中断。所以需要用结构体包装用户任务,并且重置所有以前的中断,boost::io_service::run()方法将从队列中得到准备好的任务并逐一执行,调用boost::io_service::stop()停止,如果没有更多任务,boost::io_service::run()函数返回,所以需要使用boost::asio::io_service::work的实例迫使其继续执行。
- 深入实践boost读书笔记2
- 深入实践boost读书笔记1
- 深入实践Boost(1): 获取配置选项方法(c++)
- 《管理的实践》读书笔记(2)
- 《管理的实践》读书笔记(2)
- 《管理的实践》读书笔记(2)
- 《管理的实践》读书笔记(2)
- 《管理的实践》读书笔记(2)
- 《管理的实践》读书笔记(2)
- 《管理的实践》读书笔记(2)
- 《VC++深入详解》读书笔记2
- 《深入剖析tomcat》读书笔记2
- 《Boost程序库完全开发指南——深入C++“准”标准库》读书笔记(一)
- boost实践之互斥锁
- 读书笔记--推荐系统实践(2)
- boost::asio---深入框架
- 深入研究boost::shared_ptr
- 深入理解 boost::bind
- halcon学习笔记(5)——QT和Halcon配置c++混合编程
- [阶段二]Android UI PopupWindow组件
- Mupdf源码分析之MuPDFActivity类分析(一)
- 统计分享年鉴
- LibGdx文档译读(十七) FileHandle类
- 深入实践boost读书笔记2
- android面试题总结
- 实现两个int类型变量值的交换,要求不使用中间变量
- 安卓开发学习之006 LinearLayout.LayoutParams详解
- android Studio快捷键大全
- 根据日期动态创建数据库的存储过程
- HDU 1251 统计难题(字典树模板)
- HDU 5040 Instrusive
- rbac权限