简单理解:
阻塞函数就是:程序一直停在此函数处,等待后续操作,有相关操作之后程序才能继续执行,而非阻塞函数是:程序运行在此不会中断,继续向下执行,当此处有操作时,继续此条件的后续操作
如c++中:
kbhit()在执行时,检测是否有按键按下,有按下返回非0值,没有按下则返回0,是非阻塞函数;
getch()在执行时, 检测按下什么键, 如果不按键该函数不返回,也就不进行下一步操作,是阻塞函数。

其他解释:
对于异步程序和非阻塞I/O,记得在知乎上看到过一个非常好的举例:你给图书馆打电话查书,图书馆的管理员会有两种反应,第一种:“麻烦等一下,不用挂电话,我查一下”;第二种:“知道了,等我查到了我给您回电话”。这里面的区别,一个在你,一个在电话线路。第一种情况下,你不能去干别的,只能老老实实的在电话前面等着,而且,别人在这段时间里没法给你打电话了。第二种情况就无所谓了,你可以去high,去耍,去上厕所,其他的朋友给你打电话你也接的到。第一种情况就是同步的、阻塞的,第二种就是异步的、非阻塞的

阻塞函数和非阻塞函数的区别相关推荐

  1. socket的阻塞模式和非阻塞模式(send和recv函数在阻塞和非阻塞模式下的表现)

    socket的阻塞模式和非阻塞模式 无论是Windows还是Linux,默认创建socket都是阻塞模式的 在Linux中,可以再创建socket是直接将它设置为非阻塞模式 int socket (i ...

  2. 阻塞IO、非阻塞IO的区别

    阻塞IO.非阻塞IO的区别 1.类与类之间的关系:依赖,实现,泛化(继承),关联,组合,聚合. 1)依赖(虚线):一个类是 另一个类的函数参数 或者 函数返回值. 2)实现(实线加小圆):对纯虚函数类 ...

  3. 简述同步IO、异步IO、阻塞IO、非阻塞IO之间的联系与区别

    POSIX 同步IO.异步IO.阻塞IO.非阻塞IO,这几个词常见于各种各样的与网络相关的文章之中,往往不同上下文中它们的意思是不一样的,以致于我在很长一段时间对此感到困惑,所以想写一篇文章整理一下. ...

  4. 通过举例谈谈阻塞赋值与非阻塞赋值的区别

    这篇博客,通过举例说明:非阻塞赋值和阻塞赋值的区别? 一般非阻塞赋值用于时序逻辑,而阻塞赋值用于组合逻辑: 非阻塞赋值语句是并行执行的,等到一个时钟完成后才完成赋值,而阻塞赋值是顺序执行的,下一条赋值 ...

  5. Verilog HDL中阻塞语句和非阻塞语句的区别

    在Verilog中有两种类型的赋值语句:阻塞赋值语句("=")和非阻塞赋值语句("<=").正确地使用这两种赋值语句对于Verilog的设计和仿真非常重要 ...

  6. 把变量赋值给寄存器_阻塞赋值和非阻塞赋值的区别与记忆

    罗成:Verilog语法之六:阻塞赋值与非阻塞赋值​zhuanlan.zhihu.com 通过上面的文章先了解下,阻塞赋值和非阻塞赋值的区别. b<=a; c<=b; 非阻塞赋值 b=a; ...

  7. 阻塞IO和非阻塞IO的区别

    文章目录 定义 区别 阻塞IO 非阻塞IO 参考资料 定义 阻塞是进程的一种状态,表示等待某个事件发生(如读写操作需要等待数据),进程阻塞就表示暂停执行了,和挂起类似. 阻塞IO:称阻塞的文件描述符为 ...

  8. Verilog中阻塞赋值和非阻塞赋值的区别

    Verilog中阻塞赋值(=)和非阻塞赋值(<=)的区别 **阻塞赋值:**前面语句执行完,才可执行下一条语句:即:前面语句的执行(b=a)阻塞了后面语句的执行(c=b).即:always块内, ...

  9. verilog中阻塞赋值与 非阻塞赋值的区别

    非阻塞(Non_Blocking)赋值方式( 如 b <= a; ), 块结束后才完成赋值操作,值并不是立刻就改变的, 这是一种比较常用的赋值方法.(特别在编写可综合模块时). 阻塞(Block ...

  10. 分不清楚阻塞IO,非阻塞IO,IO复用?用最贴近生活的例子带你理解这三者的区别!

    文章目录 前言 一.什么是IO 二.阻塞IO模型 三.非阻塞 IO模型 四.IO复用模型 总结 前言 在<Unix网络编程>一书中提到了五种IO模型,分别是:阻塞IO.非阻塞IO.IO复用 ...

最新文章

  1. torch.roll() 详解
  2. 算法马拉松13 A-E解题报告
  3. iTerm2的颜色主题/配色主题/配色方案
  4. Java编程开发中高效编码的7个技巧?你应该知道……
  5. fpga板子怎么和电脑连_windows7台式电脑怎么连接路由器?台式win7电脑连路由器步骤...
  6. 启动计算机时页面配置出现问题,开机提示“由于启动计算机时出现了页面配置问题…”...
  7. 速读《精通比特币》基本术语
  8. java jxl写excel_java jxl 大量数据写入excel,比如上千万条
  9. 什么是面向对象_11、面向对象的基本特征是什么
  10. 【离散数学笔记】图的基本概念思维导图
  11. 计算机的进制数思想在哪方面有应用,计算机应用技术问答题(一)
  12. 神经网络拟合高程异常
  13. XMind ZEN 2020下载及安装
  14. 计算机基础-初步认识软件和硬件
  15. 丰富网页摘要——HTML5中的“微数据”(MicroData)
  16. 【altium designer】画原理图
  17. Redis数据类型——hash
  18. php 分页 limit
  19. 虽然没人关注但是也稍微更新
  20. C/C++Linux服务器开发高级架构师/Linux后台开发架构师丨高级进阶学习

热门文章

  1. 浅谈Go语言(6) - 函数与结构体
  2. 错误整理二 | assertThat, equalTo, @RunWith, @SpringBootTest标红
  3. OpenFOAM中的对象注册(objectRegistry)
  4. 浅谈嵌入式与互联网(详细)
  5. 巧用Arcgis Server的REST接口实现OL2中WMS添加过滤
  6. python实现缓存_Python实现缓存
  7. 酒吧音响设备什么品牌好?是国产还是进口?
  8. 京东视觉算法部招聘CV实习生
  9. Python3:《机器学习实战》之决策算法(3)预测隐形眼镜类型
  10. 市面上常见的视频会议产品有哪些