当前位置: 首页 > news >正文

如何建设手机版网站绵阳专门做网站的公司

如何建设手机版网站,绵阳专门做网站的公司,wordpress主题 企业,门头设计一键生成免费c 互斥锁使用详解 std::mutex 用于保护共享资源,防止多个线程同时修改共享资源而引发竞争条件。 成员函数 lock:锁定互斥,若互斥不可用则阻塞。try_lock:尝试锁定互斥,若互斥不可用则返回。unlock:解锁…

c++ 互斥锁使用详解

std::mutex

  • 用于保护共享资源,防止多个线程同时修改共享资源而引发竞争条件。

成员函数

  • lock:锁定互斥,若互斥不可用则阻塞。
  • try_lock:尝试锁定互斥,若互斥不可用则返回。
  • unlock:解锁互斥。

推荐使用方法

  • 不推荐直接调用 std::mutex 的成员函数,若按此处理,则在多条代码路径都要调用 unlock,包括由于异常导致退出的路径。
  • 推荐使用 std::unique_lock 或 std::lock_guard,以上两个类模板针对互斥锁实现了 RAII 手法:在构造时给互斥加锁,在析构时解锁,从而保证互斥锁总被正确解锁。

示例代码

  • 以下示例演示了两个线程交替写一个文件:

    #include <stdio.h>
    #include <string.h>
    #include <thread>
    #include <mutex>std::mutex g_mutex;void f1(FILE *fp)
    {// 获取互斥锁std::lock_guard<std::mutex> lk(g_mutex);// c++17 以上可以这样写·// std::lock_guard lk(g_mutex);// 进入临界区,访问共享资源const char* s = "thread1: hello\n";fwrite(s, strlen(s), 1, fp);// RAII,自动解锁
    }void f2(FILE *fp)
    {// 获取互斥锁std::lock_guard<std::mutex> lk(g_mutex);// c++17 以上可以这样写·// std::lock_guard lk(g_mutex);// 进入临界区,访问共享资源const char* s = "thread2: hello\n";fwrite(s, strlen(s), 1, fp);// RAII,自动解锁
    }int main()
    {// 新建文件FILE* fp = fopen("test.txt", "wt");// 创建线程std::thread t1(f1, fp);std::thread t2(f2, fp);// 等待线程结束t1.join();t2.join();// 关闭文件fclose(fp);return 0;
    }
    
http://www.yayakq.cn/news/778464/

相关文章:

  • 先进网站网站开发岗位要求
  • 深圳高端品牌网站建设网站开发工作图解
  • 能支持微信公众号的网站建设广州做网站市场
  • 哈尔滨做网站设计门户网站建设基础术语
  • 网站的360快照怎么做最近国家新闻
  • 淘宝网站怎么做的好坏企业网站建设好处
  • 欧美风企业网站 英文模板主题猫仿虎嗅wordpress
  • 铜陵电子商务网站建设公司网站建设好
  • 温州网站建设wzwmwl网站建设后台需要什么技术
  • 可信赖的南昌网站制作wordpress翻页插件
  • gudao网站建设做网站能成功吗
  • 企业网站开发需要多钱张店学校网站建设公司
  • 官方网站是 优帮云网站建站上市公司
  • 拼多多网站建设方案oa系统简介
  • o2o网站建设怎么样宁波正规站内优化seo
  • 网站设计师发展唐山室内设计公司排名
  • 网站建设 网站优化如何做泰国网站
  • 注册域名后如何建立网站专业做英文网站
  • 苏州网站建设师wordpress不显示主题
  • 网站运营是做什么的怎么样在 wordpress 本地安装 wordpress
  • 创建站点的方法家装十大品牌排行榜
  • 地方门户网站盈利通信的毕设网站建设
  • 深圳网站制作的公司哪家好app开发用什么编程语言
  • 设计定制型网站建设大鹏网络网站建设
  • 知名建设网站支付宝手机网站支付二维码怎么做
  • 公司申请网站建设的工作方案制作图片的软件是
  • 网站开发 费用零食网站模板
  • 比较有名的diy制作网站网站建设动态代码
  • 做动感影集的网站沈阳网站优化怎么做
  • 制作企业网站要花多少钱dw网站根目录怎么做