c++并发编程实战
文章平均质量分 78
f905699146
这个作者很懒,什么都没留下…
展开
-
c++并发编程(一)---基本线程管理
1. 启动线程线程是通过构造std::thread对象开始的,对该对象指定了线程上要运行的任务,在最简单的情况下,该任务仅仅是一个普普通通的返回void而且不接受参数的函数,这个函数在自己的线程上运行,直到返回,然后线程停止。但从另一个极端看,该任务可能是一个接收额外参数的函数对象,放它运行时,会执行一系列由某种消息机制所指定的相互独立的操作,并且只有当线程再次通过某种消息机制接收到信号才会停止。无原创 2017-06-03 00:58:05 · 321 阅读 · 0 评论 -
c++并发指南-细说unique_lock
c++11有两种基本的锁类型,一种是lock_guard,一种是unique_lock,lock_guard使用十分简单,但是没有提供给程序足够的灵活度,所以c++11标准添加了Mutex RAII机制的另一个类unique_lock,使用也与lock_guard相似,但提供了更好的上锁,解锁的控制。 unique_lock对象以独占所有权的方式管理mutex对象的上锁和解锁操作。其他unique原创 2017-07-02 22:48:48 · 2477 阅读 · 0 评论 -
c++11实现的线程池
前言C++11之前我们使用线程需要系统提供API、posix线程库或者使用boost提供的线程库,C++11后就加入了跨平台的线程类std::thread,线程同步相关类std::mutex、std::lock_guard、std::condition_variable、std::atomic以及异步操作相关类std::async、std::future、std::promise等等,这使得我们编写转载 2017-09-15 19:12:19 · 405 阅读 · 0 评论