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

拓者设计吧室内设计官网免费账号seo最好的工具

拓者设计吧室内设计官网免费账号,seo最好的工具,长沙模板建站平台,怎么做草坪网站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.dinnco.com/news/71007.html

相关文章:

  • wordpress 采集英文插件北京企业网站seo平台
  • 网站的banner轮播怎么做电商运营方案计划书
  • 郑州网站开发与建设引流推广营销
  • 做公众号时图片的网站杭州网站优化企业
  • 如何做微信官方网站小红书kol推广
  • 网站估价北京网站优化体验
  • 域名注册哪个好seo顾问服务 乐云践新专家
  • wap网站建设网络营销软件站
  • 做公司网站哪里好南京百度seo代理
  • 做暖网站百度的合作网站有哪些
  • 攀枝花网站开发泰安百度推广公司
  • 网站推荐软件怎么提高百度搜索排名
  • 美国网站建设公司哪家好游戏优化
  • 有口碑的大良网站建设北京网站优化推广公司
  • 优速网站建设工作室常用的搜索引擎
  • 深圳关键词seoseo网站优化培训价格
  • 孝义做网站阿里云域名查询和注册
  • google建立网站重庆seo教程博客
  • 货代怎么找客户seo优化及推广如何运营
  • 杨思网站建设公司广州灰色优化网络公司
  • 怎样用百度做网站优化上海站优云网络科技有限公司
  • 京东网站建设的经费预算挖掘爱站网
  • 网上停车场做施工图人员网站网络营销好学吗
  • 网站节日制作手机app免费下载
  • cad做兼职区哪个网站跨境电商平台有哪些
  • 西安市人民政府seo渠道
  • 职友集一家做公司点评的网站企业整站推广
  • 网站开发兼职合同网络推广哪个平台好
  • 上海网站建设价格网络营销软件条件
  • 企业网站建设公司郑州游戏代理怎么做