阻塞和非阻塞的区别是什么

阻塞和非阻塞的区别是,在捕捉一个子进程退出的时候,阻塞则会一直等待,直到这个子进程退出,返回对应的值,而非阻塞,如果刚好捕捉到子进程的退出则直接输出。

阻塞和非阻塞的区别是什么-Worktile社区

一、阻塞和非阻塞

阻塞和非阻塞指的是调用者(程序)在等待返回结果(或输入)时的状态。阻塞时,在调用结果返回前,当前线程会被挂起,并在得到结果之后返回。非阻塞时,如果不能立刻得到结果,则该调用者不会阻塞当前线程。因此对应非阻塞的情况,调用者需要定时轮询查看处理状态。

阻塞:为了完成一个功能,发起一个调用,如果不具备条件的话则一直等待,直到具备条件则完成

非阻塞:为了完成一个功能,发起一个调用,具备条件直接输出,不具备条件直接报错返回

二、区别

其实就相当于在捕捉一个子进程退出的时候,阻塞则会一直等待,直到这个子进程退出,返回对应的值,而非阻塞,如果刚好捕捉到子进程的退出则直接输出,如果没有捕捉到,也不进行等待,直接输出报错。

延伸阅读

阻塞赋值与非阻塞赋值的使用场合

(1) 时序电路建模时,用非阻塞赋值。
(2) 锁存器电路建模时,用非阻塞赋值。
(3) 用always块建立组合逻辑模型时,用阻塞赋值。
(4) 在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值。
(5) 在同一个always块中不要既用非阻塞赋值又用阻塞赋值。
(6) 不要在一个以上的always块中为同一个变量赋值。
(7) 用$strobe系统任务来显示用非阻塞赋值的变量值。
(8) 在赋值时不要使用#0延时。
组合逻辑电路:使用阻塞赋值(“=”);时序逻辑电路:使用非阻塞赋值(“<=”)

来源:本文为CSDN博主「闲庭信步sss」的原创文章
原文链接:https://blog.csdn.net/spx1164376416/article/details/124289951

文章标题:阻塞和非阻塞的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37945

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年2月13日 上午10:00
下一篇 2023年2月13日 上午10:22

相关推荐

  • 算法用什么编程

    算法可以使用多种编程语言进行实现,包括但不限于 1、Python、2、Java、3、C++ 等。其中, Python 因其简洁的语法和强大的库支持,特别适合初学者和进行数据分析、机器学习等领域的算法实现。 Python是一种高级编程语言,以其高效的高级数据结构、简单的语法和动态类型系统著称。对于算法…

    2024年4月26日
    1400
  • 编程里什么叫做矢量图形

    矢量图形是一种使用几何形状、路径和算法来表示图像的技术,1、它可以无限缩放而不损失清晰度;2、文件大小通常较小;3、编辑灵活性强;4、适用于涉及复杂变换的应用。矢量图形通常用于制作标识、专业排版、三维模拟以及网页开发。在矢量图形技术中,图像不是由像素点构成,而是以数学表达式来描述图形的形状和位置。这…

    2024年4月27日
    1100
  • 特赞CTO王喆:数据思维有利人生决策,创业过程是价值和规模化的动态平衡

     文| babayage 编辑 | 笑 笑 Tezign = Tech(科技)+ Design(想象力) 2021年3月18日,特赞宣布完成获得由淡马锡领投的C2轮融资,此前,特赞完成由红杉资本中国基金领投的C1轮融资,C轮融资金额共计1亿美元。 6年之前,王喆结缘特赞创始人CEO范凌、加入特赞,开…

    2022年3月20日
    74800
  • 自建项目如何增加费用管理

    自建项目增加费用管理的核心方法包括实施严格的预算制定与监控、引入费用管理软件、定期审查和调整预算、加强供应商管理以及提升团队的费用意识。其中,实施严格的预算制定与监控是基础且至关重要的一步,它要求项目负责人和团队在项目初期就细化预算,明确每项费用的预算上限,并在项目执行过程中持续监控实际开销与预算的…

    2024年4月10日
    6300
  • ug编程中z值是什么意思

    UG编程中的Z值代表了工具相对于设定的工件零点在垂直方向上的位置,通常关联到加工工具的深度控制。 在加工中心或数控机床的编程中,Z轴通常是与工件表面垂直的轴,它的移动决定了加工深度或者切削层的厚度。理解和控制Z值对于确保加工质量和精度是至关重要的。 一、Z值的重要性 Z值是数控编程中至关重要的概念,…

    2024年4月28日
    400
  • 儿童编程需要什么学习资料

    儿童编程的学习主要需要三种学习资料:1、互动式学习工具,2、视觉化编程软件,3、线上课程。特别是互动式学习工具,它通过提供实时反馈和动手实践的机会,鼓励孩子们在解决问题的过程中学习和应用编程概念。这种工具往往设计有趣味性强,能够吸引孩子的注意力,同时也激发他们探索和创造的欲望,更好地理解编程的逻辑。…

    2024年4月27日
    1200
  • 为什么vscode好用

    Visual Studio Code(VSCode)之所以好用,原因在于其轻量级、高度可定制性、强大的代码编辑和调试能力、丰富的插件生态系统、跨平台兼容性。这些特点使得VSCode不仅适应初级开发者,也能满足资深程序员的需求。以高度可定制性为例,用户可以通过安装不同的插件、调整设置、配置快捷键等来极…

    2024年4月3日
    10500
  • linux虚拟机网关查看命令

    检视Linux虚拟机网关,一是通过命令`ip route`概览网络路由信息,二是运用`netstat -rn`查询路由表,三、借助`route -n`获得网关配置详细数据。在二、探讨`netstat -rn`时,重点在于其不光展示网关地址,还包括接口信息与路由协议类型,有助于管理员理解网络结构与流量…

    2024年3月23日
    34600
  • 编程做什么的

    摘要 编程是数字时代的基石,它有三大核心作用:1、实现软件开发;2、解决问题;3、推动技术创新。软件开发是编程最直接的应用,涉及创建操作系统、应用程序、游戏以及各种服务和工具,巨大地推动了个人和企业的生产力提升。通过编码,开发者能够根据需求打造功能丰富、用户友好的软件产品,服务全球数十亿用户。 一、…

    2024年4月25日
    1400
  • 计算机编程之前学什么专业

    编程是当今世界最重要和受欢迎的技能之一,学习编程之前并没有固定的专业要求。不过,数学基础、计算机科学基础、逻辑思维和问题解决能力是有利的。特别是数学基础,它对于理解算法和计算机运作至关重要。 数学是构建编程逻辑和理解抽象概念的基石。例如,布尔代数是计算机科学的核心部分,它与计算机逻辑电路直接相关联。…

    2024年4月28日
    300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部