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

装修平台网站排名前十名长沙seo网站

装修平台网站排名前十名,长沙seo网站,济宁做网站有哪几家,中国将于1月3日全面开放入境为何要线程同步 在线程互斥中外面解决了多线程访问共享资源所会造成的问题。 这篇文章主要是解决当多线程互斥后引发的新的问题:线程饥饿的问题。 什么是线程饥饿?互斥导致了多线程对临界区访问只能改变为串行,这样访问临界资源的代码只能…

为何要线程同步

在线程互斥中外面解决了多线程访问共享资源所会造成的问题。

这篇文章主要是解决当多线程互斥后引发的新的问题:线程饥饿的问题。

什么是线程饥饿?互斥导致了多线程对临界区访问只能改变为串行,这样访问临界资源的代码只能一个一个线程访问,如果不加以限制就会导致无序的争抢资源,并且当资源还未准备就绪的情况下也会不停的加锁解锁,浪费CPU资源。 

第一个问题无序存在,在循环中,有可能会导致部分优先级低的线程无法访问到锁从而无法访问到临界资源,我们称之为线程饥饿。

第二个问题临界资源未就绪,只有互斥的情况下线程只能循环加锁解锁访问,无法等待就绪情况。

条件变量

线程同步的一种方法。

先说接口

变量类型

pthread_cond_t cond;

条件变量类型是线程库中的自定义类型名。

初始化条件变量

int pthread_cond_init (pthread_cond_t * __cond,const pthread_condattr_t * __cond_attr)

初始化条件变量,第二个属性设为nullptr

析构条件变量

int pthread_cond_destroy (pthread_cond_t *__cond)

当不再使用条件变量,请析构

等待条件满足

int pthread_cond_wait(pthread_cond_t *cond,pthread_mutex_t* mutex); 

发送条件

参数: cond:要在这个条件变量上等待 mutex:互斥量,条件变量也是共享数据需要锁的保护。

条件变量其实类型队列的存入与取出

//唤醒等待
int pthread_cond_broadcast(pthread_cond_t *cond);//唤醒全部
int pthread_cond_signal(pthread_cond_t *cond);//唤醒一个

唤醒队列中等待的线程。

画图,解释流程

 当临界资源未就绪下

 

 

 

http://www.shuangfujiaoyu.com/news/22963.html

相关文章:

  • 做货运代理网站网络软文写作
  • 广东省广州市白云区钟落潭镇提高seo关键词排名
  • 深圳市网站建设哪家好指数工具
  • 网站对联广告图片线下营销推广方式都有哪些
  • 如何做网站测试如何建立自己的网络销售
  • 泉州seo顾问山西seo推广
  • 建设网站公司哪家技术好巩义网站优化公司
  • 自己制作网站该怎么做网页优化
  • 东莞整合网站建设开发百度账号出售平台
  • 咨询聊城网站建设品牌广告语
  • 做电商网站价格口碑营销案例及分析
  • 静态网站什么样腾讯3大外包公司
  • 用vs2005做网站设计如何写好一篇软文
  • 职业生涯规划大赛官网手机关键词排名优化
  • 鞍山市残疾人网站开发预测2025年网络营销的发展
  • 网站开发安全小贴士国内免费建站平台
  • wordpress robots规则seo排名赚app多久了
  • 广告营销网站如何用手机制作网站
  • 上海做网站的价格营业推广经典案例
  • dede网站搬家更换空间重新安装什么软件可以找客户资源
  • wordpress旧版编辑器优就业seo
  • 北京集团网站建设上海网络营销上海网络推广
  • 广东汕头潮阳区疫情网站手机优化
  • 太原招聘网站开发如何让自己的网站被百度收录
  • 平顶山哪里有做网站的公司刚出来的新产品怎么推
  • 管理网站开发教程关键词搜索引擎排名查询
  • 惠州网站建设推广公司百度账号怎么改名字
  • 诚信网站平台建设方案西安网站制作建设
  • 大学网站开发的流程图旺道seo网站优化大师
  • 网站原型图是什么西seo优化排名