
并发编程学习
1
nullganbadie
乘风破浪会有时,直挂云帆济沧海
展开
-
c++并发编程实战 第一章
·每个线程都必须具有一个初始函数(initial function),新线程的执行从这里开始原创 2018-07-25 17:32:56 · 195 阅读 · 0 评论 -
c++并发编程实战 第二章
· join():主线程等待该线程结束,然后继续执行。一旦已经使用过join(),相应的 std::thread 对象就与实际执行的线程无关了, std::thread 对象就不能再次加入了。· detach():不等待线程结束,继续往下执行。线程还在继续执行。·std::thread 对象使用t.joinable()返回的是true,就可以使用t.detach()。调用 std::...原创 2018-07-26 09:25:05 · 311 阅读 · 0 评论 -
c++并发编程实战 第三章
·使用互斥量保护共享数据:任何一个线程在执行这些代码时,其他任何线程试图访问共享数据结构,就必须等到那一段代码执行结束。于是,一个线程就不可能会看到被破坏的不变量,除非它本身就是修改共享数据的线程。 ·std::mutex:当访问共享数据前,使用互斥量将相关数据锁住,再当访问结束后,再将数据解锁。线程库需要保证,当一个线程使用特定互斥量锁住共享数据时,...原创 2018-07-27 21:40:06 · 276 阅读 · 0 评论 -
c++并发编程实战 第四章
同步并发操作本章主要内容等待事件 带有期望的等待一次性事件 在限定时间内等待 使用同步操作简化代码4.1 等待一个事件或其他条件bool flag;std::mutex m;void wait_for_flag(){ std::unique_lock<std::mutex> lk(m); while(!flag) { ...原创 2018-07-28 15:48:16 · 141 阅读 · 0 评论