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

网站设计与开发实例陕西seo排名

网站设计与开发实例,陕西seo排名,模板下载免费,番禺做网站公司为什么会有虚假唤醒一说。Linux内核这么强大,怎么会出现这样的情况?一直以来也很困惑,看了下文链接中的介绍后,豁然开朗。 从计算机设计的角度,如果一层解决不了,那就再多加一层。推算到这里,就…

为什么会有虚假唤醒一说。Linux内核这么强大,怎么会出现这样的情况?一直以来也很困惑,看了下文链接中的介绍后,豁然开朗。

从计算机设计的角度,如果一层解决不了,那就再多加一层。推算到这里,就是在表层看不明白时,就需要更深入一层,看它的实现逻辑是怎么样的。

伪代码实现

(以下代码来自pthread_cond_broadcast的man page)

pthread_cond_wait(mutex, cond)
{value = cond->value; /* 1 */pthread_mutex_unlock(mutex); /* 2 */pthread_mutex_lock(cond->mutex); /* 10 */if (value == cond->value) { /* 11 */me->next_cond = cond->waiter;cond->waiter = me;pthread_mutex_unlock(cond->mutex);unable_to_run(me);} else {pthread_mutex_unlock(cond->mutex); /* 12 */}pthread_mutex_lock(mutex); /* 13 */
}pthread_cond_signal(cond)
{pthread_mutex_lock(cond->mutex); /* 3 */cond->value++; /* 4 */if (cond->waiter) { /* 5 */sleeper = cond->waiter; /* 6 */cond->waiter = sleeper->next_cond; /* 7 */able_to_run(sleeper); /* 8 */}pthread_mutex_unlock(cond->mutex); /* 9 */
}

原因分析

按照伪代码实现中的情况,我们同时调用pthread_cond_wait、pthread_cond_signal时,并不一定能直接执行到序号11(导致该睡眠的线程不睡眠),而是有可能运行到序号3到9,之后才能到序号10。

假设A线程调用pthread_cond_wait,B线程调用pthread_cond_signal。从表现上看,是A线程没有睡眠,B线程直接唤起了更早就再在等待的线程(比如线程C)

参考链接:

  1. pthread_cond_broadcast(3p) - Linux manual page (man7.org)
  2. 深入理解条件变量(虚假唤醒)_条件变量虚假唤醒详解博客园-CSDN博客
http://www.yayakq.cn/news/735077/

相关文章:

  • 宁德时代网站哪个公司做的建设门户网站需要多少钱
  • 建设部执业考试网站北京网站设计制作关键词
  • 广州站是不是广州火车站在网上做广告怎么做
  • 响应式网站检测工具黑客钓鱼网站的制作
  • 学习php好的网站wordpress防止频繁访问
  • 有哪些免费推广网站一个网站建设流程图
  • 婴儿网站建设住栏目公众号可以添加wordpress
  • 个人网站备案 网站名称沈阳企业网站建设公司
  • 火的网站建设明细报价表敬请期待同义词
  • 网站对图片优化吗王烨然
  • 漳州市住房城乡建设局网站东莞哪里有做网站的
  • 视频网站的广告能怎么做广州建设集团
  • 微信公众平台做微网站免费创建音乐网站
  • 组培实验室建设网站医院网站建设作用
  • 有哪些免费的ppt模板下载网站wordpress minty
  • 毛纱厂家东莞网站建设免费企业网站建设单位
  • 设计了网站分销商城开发
  • 在国外做网站推广开发电商平台多少钱
  • 东莞企业年检哪个网站做村官 举措 村级网站建设
  • html的网站模板建设网站几种方法
  • 建设彩票网站毕业设计做网站用php好吗
  • 外贸网站布局网站建设属于什么行业
  • 网站没有被收录建设网上银行登录
  • 梧州高端网站建设服务上海企业网站建设公司
  • python和php做网站中国商标注册申请官网
  • 思乐网站建设怎么做网站建设的ppt
  • 运城市做网站公司浦东网站建设公司
  • 建网站要多少钱呢一键上传淘宝网站开发
  • linux搭建个人网站互动 网站建设
  • 南沙营销网站建设上海达安做的无创dna网站