摘要: 先看官方介绍: 在下面这段代码中: 线程先用unique_lock独占锁获取mutex互斥锁(构造函数自动获取,见下图用法3),然后在使用cv.wait()(cv是事前定义好的Condition_variable对象)时,会阻塞线程并自动释放持有的锁,见下下图,但是在其他线程使用cv.notify_ 阅读全文
posted @ 2017-05-17 22:10 blackwall 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 最近在linux上使用Clion这个C++ IDE,感觉很好,JetBrain的产品都很不错。 但是在跑简单例子的时候,使用到thread对象,直接build会出错 报错是: thread::thread<void (&)(int), int>(void (&)(int), int&&)’:pthr 阅读全文
posted @ 2017-05-17 21:40 blackwall 阅读(1893) 评论(0) 推荐(1) 编辑
摘要: 安装完最新的Boost库 官方说明中有一句话: Finally, will leave Boost binaries in the lib/ subdirectory of your installation prefix. You will also find a copy of the Boos 阅读全文
posted @ 2017-05-17 21:18 blackwall 阅读(769) 评论(0) 推荐(0) 编辑
摘要: 判断一个数是否是2的次方 快速随机数 一般种子数seed会取系统时间的模来作为参数,同样的时间种子会产生同样的序列,每次产生随机数的时间间隔相差不大的话,产生的随机数序列的第一个数值往往也相差不大,对于一些要求严格的场合不太适用。 所以为了使每次产生随机数的差别较大,随机性效果好,可以增加相邻两次产 阅读全文
posted @ 2017-04-11 10:35 blackwall 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 减少跳转语句失效时CPU等待取指令时间,提高CPU效率 使用__builtin_expect(EXP,N) 意思是EXP==N的概率很大 一般封装为LIKELY和UNLIKELY宏 #define LIKELY(x) __builtin_expect(!!(x),1) 很可能为真 #define U 阅读全文
posted @ 2017-04-11 10:34 blackwall 阅读(142) 评论(0) 推荐(0) 编辑