已解决
C++并发与多线程(11) | unique_lock Ⅱ
来自网友在路上 174874提问 提问时间:2023-11-02 05:23:04阅读次数: 74
最佳答案 问答题库748位专家为你答疑解惑
一、unique_lock的成员函数
1.1 lock()
一起验证defer_lock的效果,修改成员函数如下:
// 收集数据的函数void inMsgRecvQueue(){for (int i = 0; i < 10000; ++i){std::unique_lock<std::mutex> sbguard1(my_mutex1, std::defer_lock);//没有加锁的my_mutex1sbguard1.lock(); //后续不用自己unlock()cout << "inMsgRecvQueue()执行,插入一个元素" << i << endl;// 拿到了锁msgRecvQueue.push_back(i);}return;}
完整代码如下:
#include <iostream>
#include <thread>
#include <vector>
#include <list>
#include <mutex>
#include<chrono>using namespace std;class A {
public:// 收集数据的函数void inMsgRecvQueue(){for (int i = 0; i < 10000; ++i){std::unique_lock<std::mutex> sbgua
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"C++并发与多线程(11) | unique_lock Ⅱ":http://eshow365.cn/6-29908-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: #stm32整理(一)flash读写
- 下一篇: MySQL -- 表的增删查改