触发方式简介
在linux的IO多路复用中有水平触发,边缘触发两种模式,这两种模式的区别如下:
水平触发: 只要满足条件,就触发一个事件(只要有数据没有被获取,内核就不断通知你)
边缘触发: 每当状态变化时,触发一个事件。
而Java NIO属于水平触发,即有数据没读完,就会一直触发事件。
举例证明
public void start() {
this.init();
while (true) {
try {
int event = selector.select();
if (event > 0) {
Iterator<SelectionKey> SelectionKeys = selector.selectedKeys().iterator();
while (SelectionKeys