NIO
什么是阻塞:
没办法建立连接时,线程就会阻塞等待,不占用CPU,但会消耗线程数量。
非阻塞:
ssc.accept(),非阻塞,线程还会继续运行,如果没有建立连接,返回null。这是连接非阻塞
socketchannel也可以设为非阻塞,在read接收数据时,非阻塞,如果没有读到数据会返回0
阻塞模式下,线程比较傻,没有事件会一直等待,但非阻塞也不好,没有事件时也会一直轮询。
accept:socket的事件,会在有连接请求时触发
connect:是客户端,连接建立之后触发
read: 有可读数据时,触发
write:写入数据时触发