同步、异步、阻塞、非阻塞

xiaoxiao2021-02-28  3

    同步异步:多线程调用时 其他线程是否阻塞。

阻塞非阻塞:当前线程是否阻塞。

BIO(同步阻塞):用户进程发起一个IO操作以后,必须等待IO操作的完成,只有当真正完成了IO操作以后,用户进程才能运行。JAVA传统IO模型属于此种方式。

NIO(同步非阻塞):用户进程发起一个IO操作后便可返回做其他事情,但是用户进程需要时不时的询问IO操作是否就绪。目前JAVA的NIO数据此种方式。

AIO(异步非阻塞):应用发起一个IO操作以后,不等待内核IO操作的完成,等内核完成IO操作后会通知应用程序。

场景分析

 BIO适用于连接数小且固定的架构,jdk1.4以前的唯一选择

 NIO适用于连接数多且比较短的架构

 AIO使用连接数多且比较长的架构

转载请注明原文地址: https://www.6miu.com/read-1900150.html

最新回复(0)