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

2020-03-12  本文已影响0人  StayHungriest

一、什么是同步异步

1. 同步

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

2. 异步

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

二、阻塞和非阻塞

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

1. 阻塞

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

2. 非阻塞

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

上一篇下一篇

猜你喜欢

热点阅读