网络编程2-同步异步、阻塞非阻塞

一、什么是同步异步

1. 同步

例如:程序触发io操作,程序等待或者轮循查看io操作是否完成。

2. 异步

例如:程序触发io操作,程序不管io操作是否完成,继续执行程序,io操作完成后,程序会得到io完成的通知。

二、阻塞和非阻塞

阻塞和非阻塞是针对于进程在访问数据的时候,根据io操作的就绪状态来采取的不同方式。说白了是一种读取或者写入操作方法的实现方式。

1. 阻塞

读取或者写入方法将一直等待。
使用阻塞io时,java调用会一直阻塞到读写完成才返回。

2. 非阻塞

读取或者写入方法会立即返回一个状态值。
使用非阻塞io时,如果不能读写,java调用会马上返回,当io事件分发器通知可读写时再继续进行读写,不断循环直到读写完成。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容