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

个人网站数据库大小故事式软文广告300字

个人网站数据库大小,故事式软文广告300字,枣庄做网站建设找哪家,wdcp 网站日志互斥量是一个类&#xff0c;互斥量的使用必须引入头文件#include <mutex>。互斥量就如同一把锁&#xff0c;在同一时间&#xff0c;多个线程都可以调用lock成员函数尝试给这把锁头加锁&#xff0c;但是只有一个线程可以成功给这把锁加锁&#xff0c;其他没有加锁成功的线…

互斥量是一个类,互斥量的使用必须引入头文件#include <mutex>。互斥量就如同一把锁,在同一时间,多个线程都可以调用lock成员函数尝试给这把锁头加锁,但是只有一个线程可以成功给这把锁加锁,其他没有加锁成功的线程的执行流程就会卡在lock语句行这里不断地尝试去加锁,一直到加锁成功,执行流程才会继续走下去。

互斥量的使用:

#include <mutex>
#include <iostream>
#include <thread>
using namespace std;mutex  my_mutex; // 这是一个互斥量,锁头
int sum = 0; // 这是需要保护的变量
void test() {cout << "test is exceuteing by thread id:" << this_thread::get_id() << endl;my_mutex.lock(); // 加锁,确保在同一时刻只有一个线程在修改sum变量,没有加锁成功的线程就会卡在这里,不断尝试去解锁,直到解锁成功,然后再继续执行下去。cout << "exeuteing by "<< this_thread::get_id() << endl;sum += 1;my_mutex.unlock(); // 解锁,对sum变量操作完成后,就解锁,让其他线程可以调用lock函数加锁。cout << "exection is done by" << this_thread::get_id() << endl;
}int main(){cout << "Main thread id: " << this_thread::get_id() << endl;test();thread th1(test);thread th2(test);thread th3(test);thread th4(test);thread th5(test);th1.join();th2.join();th3.join();th4.join();th5.join();cout << "sum is " << sum << endl;return 0;}

sum变量是我们想要保护的对象,因为多个线程对sum进行加1时,如果在同一时刻,多个线程同时修改sum变量,那么最终得到的累加结果就有可能是错的。因此会我们可以对sum的操作进行加锁保护,让在同一时刻只有一个线程在操作累加的动作。

锁的范围不宜过大,过大会降低程序的运行性能。当然太小也不行,这可能会导致不能够切实保护到我们想保护的代码块。在lock 与unlock之间的代码块都会受到这把锁的保护。

另外使用锁机制来解决线程之间的协作问题时,一定要小心,避免出现死锁。上面的例子中使用一把锁还是比较简单,当多把锁一起使用时,就可能会因为思考不周导致死锁出现。

关于锁的更多使用可以翻阅lock_guard,unique_lock使用。

http://www.hkea.cn/news/955872/

相关文章:

  • 电子元器件商城网站建设百度开户怎么开
  • 企业网站开发基本流程百度博客收录提交入口
  • 甘特图模板关于网站建设微信营销模式
  • 网站建设的swot分析长尾关键词挖掘精灵
  • 发布自己的做家教的网站网店运营推广登录入口
  • b s网站系统如何做性能测试百度推广运营怎么做
  • 洛阳seo外包公司费用seo的中文意思
  • 政府网站建设遵循的原则seo网站内容优化
  • java做网站具体步骤邵阳seo优化
  • 自己做的网站如何放进服务器今天今日头条新闻
  • 男装网站的网站建设背景惠州seo按天计费
  • 如何快速提高网站排名互联网项目推广
  • icp备案网站名称更改成都网站设计
  • 企业网站建设需求分析seo排名资源
  • python基础教程雪峰东莞搜索seo网站关键词优化
  • b2b网站开发供应商小程序开发教程全集免费
  • 用自己的手机做网站外链网站是什么
  • 市场调研公司介绍网站推广优化公司
  • 玉溪人民政府网站建设现状新网站seo
  • 湖南餐饮网站建设2023北京封控了
  • 重庆网站设计人员外贸网站搭建推广
  • 局域网内的网站建设西安网站建设公司排名
  • 普通网站报价多少中南建设集团有限公司
  • 蚌埠做网站哪家好全网营销国际系统
  • 沈阳市网站制作谷歌香港google搜索引擎入口
  • 做美食网站的背景高端网站建设制作
  • 文件什么上传到wordpress泉州seo技术
  • 网站地址地图怎么做网页制作的软件有哪些
  • 如何用万网建设网站口碑营销策划方案
  • 做网站的基础架构东莞seo建站公司