zoukankan      html  css  js  c++  java
  • std::lock_guard 与 std::unique_lock

    std::lock_guard 与 std::unique_lock 对 mutex 进行自动加解锁。
    mutex m;
    void fun()
    {
       unique_lock<mutex> mlock(m);
    }
    unique_lock mlock(m);
    线程没有 m 的所有权,根据块语句的循环实现自动加解锁。
    线程根据 m 属性,来判断是否可以加锁、解锁。
    void fun()
    {
       lock_guard<mutex> mlock(m);
    }
    lock_guard mlock(m);
    线程拥有 m 的所有权,实现自动加解锁。
    线程读取 m 失败时,则一直等待,直到读取成功。
    线程会把 m 一直占有,直到当前线程完成才释放,其它线程才能访问。
  • 相关阅读:
    python10.31
    python10.29
    python10.28
    python10.27
    python10.25
    python10.24
    python10.23
    四边形不等式与决策单调
    0x57~0x59
    0x55~0x56
  • 原文地址:https://www.cnblogs.com/osbreak/p/10092608.html
Copyright © 2011-2022 走看看