https://hollischuang.github.io/toBeTopJavaer/#/basics/java-basic/linux-io?id=io%e5%a4%8d%e7%94%a8%e6%a8%a1%e5%9e%8b 阻塞IO:data = socket.read(); 非阻塞IO: while(true){ data = socket.read(); if(data!= error){ 处理数据 break; } } io复用模型: 在非阻塞IO的基础上,用一个线程去轮询多个socket.read() 信号驱动模型: 信号值 异步io: 用户线程省去了从IO读取数据的过程,有内核直接送过来,真正的两阶段非租塞