[心得] 从0开始 3.8 非阻塞式IO的聊天室

楼主: gasbomb (虚空雷神兽)   2019-12-19 17:55:16
之前实作的聊天室由于使用了阻塞式的 IO
在等待使用者输入指令时整个执行绪都必须暂停
所以说线上有几个使用者就等于我们要同时开启几条执行绪
这是非常浪费资源的
在后来的 java 版本有提供了非阻塞式的 IO
让我们可以只用一条执行绪就可以应付许多连线
这次就使用 AsynchronousServerSocketChannel 来实作聊天室 (简称 AIO)
以下就是聊天室的程式码
由于 AIO 有非常多的细节, 但是我们的目的是要开发 MUD
因此这边我不打算解释的太详细
// GeneralAioEchoServer.java
// ✂

Links booklink

Contact Us: admin [ a t ] ucptt.com