起因
在学习阻塞式IO访问的时候,涉及到了wake_up与wait_event的使用,具体的实验历程与流程可以参考ZC大佬这篇文章中的按键休眠唤醒实验。
疑问
在上述的实验过程中,产生疑问:wait_event(wq,event)将进程休眠后,唤醒到底是由event事件导致的,还是由wake_up(),wake_up和wait_event是不是唤醒了进程两次。
自己的理解
阅读Fybon大佬关于等待队列的博客后,我目前的理解是wait_event后进程休眠,然后在由wake_up唤醒,唤醒之后wait_event函数还会继续判断一次event事件为TRUE还是FALSE,如果为FALSE的话会再次休眠,为TRUE的话则会从wait_event函数返回,进程被唤醒继续执行后续的操作。因此唤醒是由wake_up导致的,wait_event则是实现会不会因为event事件而休眠。

 **如果理解偏差或者错误的话,希望有大佬指正**

关于linux中wake_up与wake_event的使用相关推荐

  1. linux中阻塞机制

    一,阻塞与非阻塞 阻塞是指没有获得资源则挂起进程,直到获得资源为止.被挂起的进程进入休眠状态,被调度器的运行队列移走,直到等待条件被满足. 非阻塞是不能进行设备操作时不挂起,或放弃,或反复查询,直到可 ...

  2. linux中进程的用户管理

    linux中进程的用户管理 每个进程都拥有真实的用户.组(uid.gid),有效的用户.组(euid.egid),保存的设置用户.组(suid.sgid),还有linux中专门用于文件存储存取的用户. ...

  3. Linux中的阻塞机制

    我们知道在字符设备驱动中,应用层调用read.write等系统调用终会调到驱动中对应的接口. 可以当应用层调用read要去读硬件的数据时,硬件的数据未准备好,那我们该怎么做? 一种办法是直接返回并报错 ...

  4. linux 中的中断处理

    谈谈对中断的理解 1.裸板中断处理过程 中断属于异常的一种 它是计算机中处理异步事件的重要机制1.1 中断的触发中断源级配置中断的触发方式 上升沿 下降沿 高 低触发中断使能 (监测到中断信号之后,能 ...

  5. c++ 进程快照_如何在 Linux 中找出内存消耗最大的进程

    很多次,你可能遇见过系统消耗了过多的内存.如果是这种情况,那么最好的办法是识别出 Linux 机器上消耗过多内存的进程. -- Magesh Maruthamuthu(作者) 很多次,你可能遇见过系统 ...

  6. linux的tar中ztvf,linux中的tar命令(2)

    实例4:只将 /tar 内的 部分文件解压出来 命令: tar -zxvf /opt/soft/test/log30.tar.gz log2013.log 输出: [root@localhost te ...

  7. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  8. java 外部类似_[求指点] 如何用java 实现类似linux中管道调用外部程序的功能

    想写个小程序实现类似linux中管道的功能,创建一个外部子进程,然后主进程不断地写输入给子进程,而后把子进程的返回值取出. 如下的小代码就是从stdin读入一个字符串,调用子进程(cat)返回这个串, ...

  9. linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本

    提问:当我尝试在Linux中运行一个Java程序时,我遇到了一个错误.看上去像程序编译所使用的Java版本与我本地的不同.我该如何在Linux上切换默认的Java版本? 当Java程序编译时,编译环境 ...

最新文章

  1. 利用XRDP远程登陆linux系统
  2. redis的bitset实战
  3. graphcool-framework 一个基于graphql的后端开发框架
  4. try catch异常后会执行后面的代码吗_JVM异常处理最强讲解
  5. 一位资深Java的阿里系公司实战面试经验,套路还是面试官的多
  6. iOS四种多线程(swift和oc)
  7. _.findIndex(array, [predicate=_.identity], [fromIndex=0])
  8. opencv算法精解 c++/python
  9. Skyline软件二次开发初级——2如何在WEB页面中控制三维地图的观察点坐标和角度...
  10. H264 编解码协议详解
  11. hybrid 单臂路由
  12. 中华传统吉祥图案集锦
  13. 网上资源之WEB前端
  14. 学习6大设计原则、23种设计模式
  15. chrome浏览器模拟慢网速环境
  16. 这样给宝宝起小名,好听不俗气
  17. 服务监控可以监控哪些
  18. java FX 制作3D魔方
  19. python爬取网站的某一句话_Python实现JS解密并爬取某音漫客网站
  20. Stale branches 设置_手机资讯:iPhone 如何设置来电闪光灯苹果手机 LED 灯来电提醒设置教程...

热门文章

  1. 三菱FX3U与欧姆龙E5CC温控器通讯实战程序
  2. 小丸工具箱-将视频格式转化为mp4或其他格式的简单方法
  3. 怎么彻底删除墨鱼丸?
  4. Simulink关于S-函数的报错:索引超出数组范围的自我查错方法
  5. 详解个推java服务端集成
  6. linux shell脚本使用bc命令实现小数数值计算
  7. 免费SSL证书大全,加速普及网站实现HTTPS加密
  8. emWin使用遇到的问题以及解决办法
  9. html文字如何显示在右侧,html点击左边代码右边显示相应的内容
  10. 开源惠民隐私政策服务协议