stdthread(7)并发unique_lock灵活性
生活随笔
收集整理的這篇文章主要介紹了
stdthread(7)并发unique_lock灵活性
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 可以在聲明后的任意位置調用, 可以縮小鎖的作用范圍,提供更高的并發度
#include <iostream> #include <mutex> #include <thread>int v = 1;void critical_section(int change_v) {static std::mutex mtx;std::unique_lock<std::mutex> lock(mtx);// 執行競爭操作v = change_v;std::cout << v << std::endl;// 將鎖進行釋放lock.unlock();// 在此期間,任何人都可以搶奪 v 的持有權// 開始另一組競爭操作,再次加鎖lock.lock();v += 1;std::cout << v << std::endl; }int main() {std::thread t1(critical_section, 2), t2(critical_section, 3);t1.join();t2.join();return 0; }總結
以上是生活随笔為你收集整理的stdthread(7)并发unique_lock灵活性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深度学习的数学 (6)误差反向传播法必需
- 下一篇: stdthread(8)并发recurs