boost
西飘客
这个作者很懒,什么都没留下…
展开
-
boost::function介绍
1. 介绍 Boost.Function库包含了一个类族的函数对象的包装。它的概念很像广义上的回调函数。其有着和函数指针相同的特性但是又包含了一个调用的接口。一个函数指针能够在能以地方被调用或者作为一个回调函数。boost.function能够代替函数指针并提供更大的灵活性。2. 使用 Boost.Function有两种形式:boost::function<float(int...转载 2018-08-15 16:18:52 · 6730 阅读 · 0 评论 -
boost库中thread多线程详解2——mutex与lock
1. mutex对象类mutex类主要有两种:独占式与共享式的互斥量。▲ 独占式互斥量:mutex: 独占式的互斥量,是最简单最常用的一种互斥量类型try_mutex: 它是mutex的同义词,为了与兼容以前的版本而提供timed_mutex: 它也是独占式的互斥量,但提供超时锁定功能▲ 递归式互斥量:recursive_mutex: 递归式互斥量,可以多次锁定,相应地也要多次解锁...转载 2018-08-14 15:17:44 · 821 阅读 · 0 评论 -
boost 读写锁
情景:多线程编程中,通常某些数据是在多个线程间共享的,由于线程的并发行,一个线程读写的过程中另一个线程也极大可能同时读写, 这必然造成公共资源的错乱, 引起程序错误, 此时对公共资源的保护实在必行了, 需要使用公共资源之前, 先“锁”住, 防止其它线程更改,等待当前使用完成“解锁”后,其余线程才可以更改, 此种情形引出多种锁模型,适用于不同情形: 1. 多线程争抢修改资源,都需要独占式修改 ...转载 2018-08-14 14:27:02 · 3191 阅读 · 0 评论 -
boost mutex lock 使用
boost中的mutex貌似有6种或者更多,我用过的有3中boost::mutex、boost::shared_mutex、boost::recursive_mutex,貌似还有boost::try_mutex、boost::time_mutex,不过没用过。boost::mutex是最基础的锁,有lock和unlock方法,可以认为是互持锁。boost::shared_mutex是共享锁,有...转载 2018-08-14 14:23:28 · 3850 阅读 · 0 评论 -
boost thread的用法
Boost::Thread的实现总体上是比较简单的,前面已经说过,thread只是一个跨平台的线程封装库,其中按照所使用的线程选项的不同,分别决定使用Windows线程API,pThread,或Mac平台的thread实现。以下只讨论Windows,即使用BOOST_HAS_WINTHREAD的情况。Boost::Thread有两个构造函数:一个是thread(),构造一个表示当前执行线...转载 2018-08-10 12:35:07 · 273 阅读 · 0 评论 -
boost库中sleep方法详解
boost库中sleep有两个方法:1. 这个方法只能在线程中用, 在主线程中用无效. 原型: void sleep(TimeDuration const& rel_time); void sleep(system_time const& abs_time); 实例: boost::this_thread::sleep(boost::p...转载 2018-08-09 08:44:49 · 5592 阅读 · 0 评论