
【Linux】条件变量等待的内部实现逻辑
发布日期:2021-05-10 06:33:36
浏览次数:4
分类:技术文章
本文共 325 字,大约阅读时间需要 1 分钟。
- 将调用pthread_cond_wait函数的执行流放到PCB等待队列当中
- 解互斥锁
- 等待被唤醒
- 假设被唤醒之后,应该怎么做?
- 从PCB等待队列当中移除出来
- 抢占互斥锁 情况一:拿到互斥锁,pthread_cond_wait函数就返回了 情况二:没有抢到互斥锁,阻塞在pthread_cond_wait函数内部的抢锁逻辑当中
一定要知道,当卡在pthread_cond_wait 内部抢锁逻辑的执行流一旦时间片耗尽,意味着当前线程被切换出来,程序计数器当中保存的就是抢锁的指令,上下文信息当中保存的就是寄存器当中的值
当再次拥有PCB时间片之后,从程序计数器和上下文信息当中恢复抢锁的逻辑 知道抢锁成功,pthread_ cond_wait函数才返回
转载地址:https://blog.csdn.net/weixin_43967449/article/details/110194067 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2023年11月22日 12时39分22秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
周立功CAN通讯(txt格式) 报文解析
2019-03-28
Python+OpenCV教程3:打开摄像头
2019-03-28
Python的Serial串口通讯协议
2019-03-28
使用pyserial进行串口传输(实时绘图)
2019-03-28
用Python串口实时显示数据并绘图pyqtgraph(详细教程)
2019-03-28
Tkinter处理STM32串口发送的数据(self)
2019-03-28
Tkinter绘制简单的动画碰撞(动画显示)
2019-03-28
Python播放MP3音频文件
2019-03-28
python程序运行时间 Time
2019-03-28
详解 n 维向量、n 维数组 和 矩阵的维度(转载)
2019-03-28
matplotlib的animation模块动态显示数据
2019-03-28
CSDN文章发布方法
2019-03-28
数字逻辑电路期末复习与常见问题
2019-03-28
数据库系统概论期末复习
2019-03-28
电子学会机器人等级考试有什么用?
2019-03-28
无需编程的BEAM昆虫积木机器人~适合小孩子的益智DIY小制作
2019-03-28
带你轻松玩转神奇Micro:bit开发板的Max:Bot机器人!
2019-03-28
【备忘】MATLAB连接SQL教程
2019-03-28