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

装修平台网站排名前十名做运营的具体做什么

装修平台网站排名前十名,做运营的具体做什么,找广网,物理组简介 网站建设为何要线程同步 在线程互斥中外面解决了多线程访问共享资源所会造成的问题。 这篇文章主要是解决当多线程互斥后引发的新的问题:线程饥饿的问题。 什么是线程饥饿?互斥导致了多线程对临界区访问只能改变为串行,这样访问临界资源的代码只能…

为何要线程同步

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

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

什么是线程饥饿?互斥导致了多线程对临界区访问只能改变为串行,这样访问临界资源的代码只能一个一个线程访问,如果不加以限制就会导致无序的争抢资源,并且当资源还未准备就绪的情况下也会不停的加锁解锁,浪费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.ds6.com.cn/news/22829.html

相关文章:

  • 做货运代理网站典型的网络营销案例
  • 广州网络兼职网站建设网站推广技巧和方法
  • 湖南设计网站机构网站建设图片
  • 怎么做网站的需求武汉网络推广优化
  • 药物研发网站怎么做论坛如何做seo
  • 新乡专业做网站多少钱今天国际新闻最新消息10条
  • 自己建设的网站有管理后台的登录网络运营培训课程
  • 如何注销网站域名网站排名查询alexa
  • 用excel做网站日志分析厦门seo总部电话
  • 灰色系网站湘潭网站定制
  • 端午节网站怎么做微博指数查询入口
  • 成都网站设计很好网络视频营销
  • 北京行业网站建设windows优化大师要钱
  • 网站毕业设计图怎么做郑州seo排名哪有
  • 长春网架公司seo快速排名源码
  • 厦门 建网站关联词有哪些
  • 网站草图怎么做东莞网站建设seo
  • 网站开发与网站制作百度最贵关键词排名
  • 中国互联网协会成立外链seo服务
  • 一般网站建设公司怎么收费网页设计模板免费网站
  • 网站错误提示页设计seo站外推广有哪些
  • 电商网站的多选菜单插件山西seo优化公司
  • 海口哪里做网站免费b站推广短视频
  • 为什么我的电脑有些网站打不开业务推广平台
  • 蚌埠公司做网站抚顺seo
  • 我也来做外国网站购物360浏览器网页版入口
  • 做外贸学网站app推广联盟
  • 济南直销网站制作刷网站软件
  • 与建设部网站上海网站快速排名优化
  • 怎么买wordpress主题沧州网站推广优化