- 阻塞IO的含义
1. 阻塞(blocking)IO:资源不可用时,IO请求一直阻塞,知道反馈结果(有数据或者超时)。
2. 非阻塞(non-blocking)IO:资源不可用时,IO请求离开返回,返回数据标识资源不可用。
3. 同步(synchronous)IO:应用组社发送或接受说句状态,知道数据成功传输或返回失败。
4. 异步(asynchronous)IO:应用发送或接受数据后立刻返回,实际处理是异步执行的。
代码中使用的API:ServerSocket#accept、InputStream#read都是阻塞的API。操作系统底层API中,默认操作都是Blocking型。sent./rec等接口都是阻塞的。
【BIO阻塞式编程】带来的问题:阻塞导致处理网络I/O时,一个线程只能处理一个网络连接。