摘要: 一、unique_lock取代lock_guard 是个类模板,一般用lock_guard,unique_guard更灵活,效率差一点,内存占用多了一点。 二、unique_lock 的第二个参数 1、std::adopt_lock 就是个标记,表示位于第一个参数的互斥量已经lock了。(你必须先把 阅读全文
posted @ 2019-07-23 17:29 Austin_anheqiao 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 一、互斥量mutex 保护共享数据,操作时,用代码把共享数据锁住,操作数据,解锁。其他线程要操作共享数据的线程必须等待解锁,锁住,操作,解锁。 互斥量就是类对象,一个锁,多个线程用lock()成员函数加锁这个锁头,只有一个线程能锁成功,成功的标志是lock函数返回,如果没有锁成功,那么流程就卡在lo 阅读全文
posted @ 2019-07-23 16:30 Austin_anheqiao 阅读(887) 评论(0) 推荐(0) 编辑
摘要: 一、创建、等待多线程 后创建的线程不一定比先创检的线程慢。 多个线程的执行顺序是乱的,跟操作系统内部的线程调度机制有关。 把thread放入到容器里进行管理和调度。 二、数据共享 1、只读数据 2、有读有写 比如两个线程写,8个线程读,肯定会崩溃。 由于任务切换,会导致各种诡异的事情发生。 最简单的 阅读全文
posted @ 2019-07-23 15:23 Austin_anheqiao 阅读(348) 评论(0) 推荐(0) 编辑
摘要: 函数操作数() 可以实现将对象当函数使用。 阅读全文
posted @ 2019-07-23 14:05 Austin_anheqiao 阅读(241) 评论(0) 推荐(0) 编辑