- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
boo的st技术分享
Boost库学习分享;1.简介;;2 Boost库列表;2.0 字符串和文本处理;2.1 容器;2.2 迭代器(Iterators);2.3 算法;2.4 函数对象和高阶编程;2.5 泛型编程(Generic Programming);2.6 模板元编程;2.7 预处理元编程;2.8 并发编程;2.9 数学和数值计算;;2.10 纠错和测试;2.11数据结构;2.12 输入/输出;2.13 跨语言支持;2.14 内存(Memory);2.15解析;2.16杂项;;3.Boost编译安装;;;4.常用库简介;4.1 日期和时间处理;;;;4.2智能指针;;4.3 字符串处理和格式化输出:;;;;;4.4容器:;4.5 线程库:;;
不能让多个线程同时访问共享的资源是至关重要的。mutex在同一时间只能允许一
个线程访问共享资源。当一个线程需要访问共享资源时,它必须先“锁住”mutex,
如果任何其他线程已经锁住了mutex,那么本操作将会一直被阻塞,直到锁住了
mutex的线程解锁,这就保证了共享资源,在同一时间,只有一个线程可以访问。Boost.Threads支持两大类型的mutex:简单mutex和递归mutex。一个线程有3种可能方法来锁定mutex:
1. 等待并试图对mutex加锁,直到没有其他线程锁定mutex;
2. 试图对mutex加锁,并立即返回,如果其他线程锁定了mutex;
3. 等待并试图对mutex加锁,直到没有其他线程锁定mutex或者直到规定的时间已过。
Boost.Threads允许你挑选最有效率的mutex。为此,Boost.Threads提供了6中类型的
mutex,效率由高到低排列:boost::mutex,boost::try_mutex,boost::timed_mutex,
boost::recursive_mutex,boost::recursive_try_mutex和boost::recursive_timed_mutex。
Boost.Threads提供Scoped Lock模式,防止死鎖。要构建一个这种类型的锁,需要传递
一个mutex引用,构造函数将锁定mutex,析构函数将解锁mutex;;
文档评论(0)