Home 同步与异步 And 阻塞与非阻塞
Post
Cancel

同步与异步 And 阻塞与非阻塞

同步与异步

关注两个进程间通信方式,同步是A进程调用B进程后需要等待B进程执行完成后,A进程才会继续向下执行。异步是A进程调用B进程后,A进程会立即继续向下执行

阻塞与非阻塞

了解 阻塞与非阻塞 首先需要熟悉两个概念 内核空间 与 用户空间

内核空间和用户空间,操作系统为了安全,用户空间是没有权限操作硬件设备的,比如网卡。所以需要通过内核空间与硬件设备间的交互。 内核空间存储的代码和数据具有更高级别的权限。内存访问的相关硬件在程序执行期间会进行访问控制(AccessControl),使得用户空间的程序不能直接读写内核空间的内存。

我们从互联网上获取数据或者向互联网发送数据(当然这里也有可能是跟磁盘交互),数据流向大致如下:

用户线程A -> 用户空间 -> 内核空间 -> 硬件设备

硬件设备 -> 内核空间 -> 用户空间 -> 用户线程A

  • 阻塞:用户空间 send 内核空间,需要等内核空间处理完毕后,才返回
  • 非阻塞:用户空间 send 内核空间,无需等待,直接返回,需要轮询才知道是否发送完毕

weixin.png

公众号名称:怪味Coding
微信扫码关注或搜索公众号名称
This post is licensed under CC BY 4.0 by the author.