
线程
Liu_Xiao_Ming
这个作者很懒,什么都没留下…
展开
-
C++信号量condition_variable
目录1、condition_variable2、函数3、测试1、condition_variable同步线程间的数据流依赖关系。2、函数Condition_variable cv; 构造Cv.~Condition_variable(); 销毁Cv.notify_one(); 唤醒一个等待者Cv.noti...原创 2020-02-04 14:38:33 · 715 阅读 · 0 评论 -
任务包packaged_task
目录1、packaged_task2、packaged_task的函数3、测试代码1、packaged_taskpackaged_task<> 被用来同时存有目标函数及其“成果”。(不理解,请看测试代码)2、packaged_task的函数packaged_task pt; 建立一个不带shared state的对象packaged...原创 2020-02-04 14:18:11 · 584 阅读 · 0 评论 -
线程上锁
目录1、线程上锁的原因2、Mutex3、Lock_guard<>4、Unique_lock<> 同上,但多三个构造函数5、区别6、测试代码1、线程上锁的原因1)避免未同步的数据访问;2)避免读写一般的数据被更改;3)避免因线程函数体内“表达式重新排列引起”的逻辑问题。2、Mutex互斥锁:一般用来保护共享资源。Mutex...原创 2020-02-03 13:00:29 · 736 阅读 · 0 评论 -
C++ Future 和async()
目录1、Future2、Future的成员函数3、async4、测试代码5、shared_future1、Futureclass td::future 提供处理并发运算的未来结果的能力。2、Future的成员函数Furture f; //default构造函数,建立一个无状态的future objectFuture f(rv); //move构造函...原创 2020-01-31 23:51:09 · 718 阅读 · 0 评论 -
C++线程thread
目录1、线程的创建2、成员函数3、this_thread4、例子1、线程的创建头文件<thread>,作用域为标准作用域。//创建线程对象thread t1;//创建线程并启动线程或是抛出异常thread t2(ThreadFunction);//移动语义,t3替代t2当前状态,并将t2赋值为nonjionablethread t3(move...原创 2020-01-31 17:54:28 · 402 阅读 · 0 评论