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

网站建设及制作教程智慧景区网站服务建设

网站建设及制作教程,智慧景区网站服务建设,邢台房产网,网站 备案 中国 名字吗目录 前一篇内容#xff08;mutex锁#xff09; 前言 Condition Variable的简介 Condition Variable的使用方法 wait方法 wait for函数与wait until函数 notify函数 notify_one notify_all 注意 前一篇内容#xff08;mutex锁#xff09; 【C】多线程的学习笔记mutex锁 前言 Condition Variable的简介 Condition Variable的使用方法 wait方法 wait for函数与wait until函数 notify函数 notify_one notify_all 注意 前一篇内容mutex锁 【C】多线程的学习笔记2——白话文版bushi-CSDN博客文章浏览阅读161次。lock_guard是模板类对比于mutex的区别是lock_guard在创建时会尝试获得锁的所有权注意时尝试如果获取不到就相当于没有用并且不会报错在作用域结束时会自动析构无需手动解锁该类不可中途上锁和解锁不可复制unique_lock的用法和lock_guard的用法类似主要的区别在于他可以中途上锁以及解锁对比于lock_guard会更加的灵活但是所需要的内存空间会更大同时它的也有adopt_lock参数用法一样而且他还拥有其他的第二参数。https://blog.csdn.net/mumuemhaha/article/details/133554220?spm1001.2014.3001.5501 前言 好久没有继续写博客了原因就是去沉淀了一下偷懒了一下 现在在学网络编程c的多线程也还在学 这一变博客就讲讲c中的Condition Variable库吧 Condition Variable的简介 官方原文解释 翻译就是 条件变量是一个对象它能够阻止调用线程直到通知恢复。 当调用线程的一个等待函数时它使用 mutex 来锁定线程。该线程将保持阻塞状态直到被另一个线程唤醒该线程对同一对象调用通知函数。 这里我们可以看到Condition Variable一般是要和mute锁配合使用来发挥他的最大用处 Condition Variable的使用方法 wait方法 wait方法的原型为两种 void wait (unique_lockmutex lck); template class Predicate void wait (unique_lockmutex lck, Predicate pred); 第一种为他只是传递一个mutex锁(注意是unique_lock锁来锁定自己也就是堵塞当前的线程直到自己被notify(下面要讲到的函数)唤醒。 第二种和第一种差不多不过他多了一个predicate的参数这里可以是一个函数类型为true或者false我画了一张并不是很准确的图片可以帮助理解一下 大部分时候为了缩短代码的长度他一般会写出lambda表达式也就是类似与[x] () { x1; };这样的表达式 它可以等效为 bool F_1(int x){return x1 } 其中的lambda表达式有许多用法——诸如捕获前面的变量传递以及引用这里不多做赘述论坛里有许多相关的文章这里提一嘴主要是让读者知道这是一个什么东西好搜索相应的教程。 wait for函数与wait until函数 wait for函数原型 template class Clock, class Durationcv_status wait_until (unique_lockmutex lck,const chrono::time_pointClock,Duration abs_time); template class Clock, class Duration, class Predicatebool wait_until (unique_lockmutex lck,const chrono::time_pointClock,Duration abs_time,Predicate pred); 这里不用仔细看大部分和前面的wait函数一样也是有两个函数一个带predicate的参数一个不带predicate的参数但是多了一个设定超时时间也就是超过时间即使没有获取到mutex锁就不堵塞当前线程了。 第二个参数可以设定一个超时时间比如2秒。 而wait until函数为 template class Clock, class Duration std::cv_statuswait_until( std::unique_lockstd::mutex lock,const std::chrono::time_pointClock, Duration timeout_time );template class Clock, class Duration, class Pred bool wait_until( std::unique_lockstd::mutex lock,const std::chrono::time_pointClock, Duration timeout_time,Pred pred ); 区别与wait until的是wait_until是取一个时间点 notify函数 notify函数分为notify_one以及notify_all notify_one notify_one为随机唤醒一个被阻塞的线程注意为随机 notify_all notify_all为唤醒所有的被阻塞的线程 注意 需要注意的是notify唤醒后如果线程被唤醒后依然不满足继续执行下去的条件那么线程又会被重新堵塞。 小结 本章主要简单讲解了Condition Variable的用法以及途径他是一种可以让项目异步执行的一个操作使得程序有一个很好得到性能。
http://www.yutouwan.com/news/310912/

相关文章:

  • 做营销型网站费用常用的广州网站建设
  • 自动全屏网站模板html好看的个人主页
  • 最低成本做企业网站 白之家学平面设计在哪里学
  • 企业自己的网站第三方商城网站建设
  • 网站开发去哪学湖南住房和城乡建设部网站
  • 广州越秀公司网站建设网站域名登陆
  • 网站收录工具免费cdn服务器
  • 男女做视频网站企业网站建设内存
  • 如何做网站链接使用嘉兴网站建设模板网站
  • 最简单做网站企业品牌网站建设怎么做
  • 设计网站轮廓模板招人在哪个网站比较好找
  • 做淘客网站多少钱服务器做网站哪个系统好
  • 建设哪里有洛阳seo培训
  • 营销型网站的建设与推广辅导记录建仿网站
  • 找人给公司做网站去哪找wordpress门户网站
  • 开一个网站建设公司好推广网站文案
  • 网站产品图片尺寸湖南网站seo营销
  • 如何搭建一个公司网站免费的企业网站建设
  • 福建省建设执业资格中心网站深圳网站建设企
  • 手机app与电脑网站的区别个人建设图片分享网站
  • 重生做明星那个网站下载营销型企业网站案例
  • 网站建设电商胖子马wordpress模板 q8免费版
  • 公司做网站好吗随州网站建设学校
  • 做茶歇的网站徐州h5模板建站
  • 用ps做网站设计微信网站链接怎么做
  • 有产品做推广 选哪个 网站开发小程序定制公司
  • 不备案的网站有那些网站开发网上宠物店管理系统
  • 网站美化教程下载做培训网站前端
  • 时光轴网站模板空间登录
  • 做网站不给源码上海互联网公司