找回密码
 立即注册
查看: 1525|回复: 22

同样是阻塞延时,不同人的理解是相反的?一度让我迷惑不解

[复制链接]
  • 打卡等级:以坛为家II
  • 打卡总天数:498
  • 最近打卡:2025-05-02 07:00:13
已绑定手机

151

主题

589

回帖

1200

积分

金牌会员

积分
1200
发表于 2024-3-8 10:34:55 | 显示全部楼层 |阅读模式
对于阻塞延时和非阻塞延时,大家都是怎么理解的,
多线程阻塞延时.png
阻塞延时和非阻塞延时.png
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2024-11-15 09:12:27

29

主题

722

回帖

2790

积分

荣誉版主

积分
2790
发表于 2024-3-8 10:54:37 | 显示全部楼层
本帖最后由 gentleman 于 2024-3-8 11:36 编辑


关于二者对 阻塞延时的描述
就像 函数名 可以都是 delay()
函数内部 却不同


前者是针对操作系统中 的阻塞状态
一般调用操作系统提供的延时函数实现,进入阻塞状态
实际是将任务 从任务就绪链表移除
                    移入任务阻塞链表
            cpu  依旧会从任务就绪链表取出任务运行
等待延时时间过后
                    再移回任务就绪链表 等待cpu进行调度


后者的描述是裸机中的常用的死延时,一些_nop_ 等空指令






回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:519
  • 最近打卡:2025-05-02 07:55:51
已绑定手机

46

主题

1694

回帖

2544

积分

金牌会员

积分
2544
发表于 2024-3-8 11:02:21 | 显示全部楼层
非阻塞延时一般需要状态机来实现,裸机一般建议使用非阻塞延时
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:458
  • 最近打卡:2025-05-01 07:48:22
已绑定手机
已实名认证

110

主题

2219

回帖

5452

积分

版主

积分
5452
发表于 2024-3-8 11:03:01 | 显示全部楼层
堵塞就是cpu啥也不干被卡住了
非堵塞就是延时的时候cpu跑去干别的的了。等延时时间到了再回来干活
实现上,堵塞一般是让cpu做无意义自加或者自减进行延时
非堵塞可以用多线程,软定时器,程序循环计数等方式实现
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:435
  • 最近打卡:2025-04-30 08:43:23

33

主题

2351

回帖

4860

积分

论坛元老

积分
4860
发表于 2024-3-8 11:42:27 | 显示全部楼层
两者说的一个有系统 一个裸机  
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:498
  • 最近打卡:2025-05-02 07:00:13
已绑定手机

151

主题

589

回帖

1200

积分

金牌会员

积分
1200
发表于 2024-3-8 13:09:33 | 显示全部楼层
gentl*** 发表于 2024-3-8 10:54
关于二者对 阻塞延时的描述
就像 函数名 可以都是 delay()
函数内部 却不同

我一直是第二种理解,而第一种理解,也是接触了系统后,才开始看到大家这么说,是不是可以统一起来,有时也感觉是裸机和系统的叫法不同,有时,也感觉不是,可以统一成第二种理解;
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:498
  • 最近打卡:2025-05-02 07:00:13
已绑定手机

151

主题

589

回帖

1200

积分

金牌会员

积分
1200
发表于 2024-3-8 13:10:09 | 显示全部楼层
jw*** 发表于 2024-3-8 11:02
非阻塞延时一般需要状态机来实现,裸机一般建议使用非阻塞延时

是的
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:498
  • 最近打卡:2025-05-02 07:00:13
已绑定手机

151

主题

589

回帖

1200

积分

金牌会员

积分
1200
发表于 2024-3-8 13:10:46 | 显示全部楼层
_奶*** 发表于 2024-3-8 11:42
两者说的一个有系统 一个裸机

有时,我也这么理解,
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:338
  • 最近打卡:2025-04-25 16:31:21
已绑定手机

14

主题

600

回帖

2199

积分

荣誉版主

积分
2199
发表于 2024-3-8 13:14:17 | 显示全部楼层
拉粑粑算个流程的话.

阻塞:抽根烟,憋着,抽完拉
非阻塞:抽烟,同时拉一会吧.
回复 支持 1 反对 0

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:498
  • 最近打卡:2025-05-02 07:00:13
已绑定手机

151

主题

589

回帖

1200

积分

金牌会员

积分
1200
发表于 2024-3-8 13:19:15 | 显示全部楼层
xiangz*** 发表于 2024-3-8 13:14
拉粑粑算个流程的话.

阻塞:抽根烟,憋着,抽完拉

通俗易懂,接地气。
回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 08:56 , Processed in 0.123714 second(s), 109 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表