同步异步,阻塞非阻塞的概念区分

来源:互联网 发布:永久域名注册网站 编辑:程序博客网 时间:2024/05/29 01:54

1.同步或异步是进程间协作的一种方式,二者区别在于调用后能否立即返回;阻塞与非阻塞是进程运行可能出现的状态。两者是不同维度的概念。

2.假如程序运行期间因数据交互出现阻塞,就是同步;反之。


以上两条套用在Linux的5种IO模型上:

同步类型I/O:

(1)阻塞I/O

(2)非阻塞I/O(进程自己轮询)

(3)I/O复用(基于FD轮询)

(4)信号驱动I/O(基于事件驱动)

异步类型I/O:

(5)异步I/O

这里的同步、异步是指在数据从内核空间到用户进程空间。同步方式需要调用recvFrom函数,同步等待数据从内核数据拷贝到进程空间;异步方式,通知数据报准备完毕,操作系统 把数据送到指定的用户进程空间。

原创粉丝点击