nio

1. bio   一个连接一个线程,  意思是serverSocket.accept() 就建立一个线程,这里accept() read()    线程都会阻塞。

2. nio  一个请求一个线程, 把服务器通道ServerSocketChannel 感兴趣的事件SelectionKey.OP_ACCEPT 注册到通道管理器Selector上,

    轮询selector, 如果有accept事件到达,SocketChannel channel = server.accept();    获取客户端通道。在selector上注册客户端通道            

    SelectionKey.OP_READ事件。   当轮询selector时,如果有可读事件,再去用一个线程去处理请求。

    其中轮询selector是有一个单线程处理(就是一个while循环去selector.select(); 判断是有注册的事件来了)

 

posted @ 2017-03-26 11:49  奇奇小唱  阅读(153)  评论(0编辑  收藏  举报