[闲聊] 撞墙了

楼主: gasbomb (虚空雷神兽)   2019-12-09 16:35:53
→ typers : 建议改用 java.nio 处理 io 27.242.133.47 12/06 16:08
→ typers : 多执行绪在系统做大,会有很多杂事 27.242.133.47 12/06 16:09
→ typers : 需要处理 27.242.133.47 12/06 16:09
有鉴于传统帮每个 Socket 都开一个执行绪的作法
在系统庞大时确实会有问题, 所以这个周末都在研究 java.nio
而 nio 又分成了 nio 与 nio2 (又叫 aio)
目前 nio 跟 aio 版的聊天室都已经实作出来了
不过 nio 的 Selector 机制不管是撰写难度或是程式可读性都不佳
所以目前比较倾向用 aio 来实作新的连线部分
由于之前偷懒, MUD 里面对话类的功能都是用 blocking I/O 实现的
如果改用 non-blocking I/O 这部分势必要重写
原本使用 BufferedReader 时, 换行字符(\n)可以放心交由 java 代为处理
改为 nio 的 ByteBuffer 后, 都必须要自己处理了
等我把这部分搞定我会赶快更新文章的 QQ

Links booklink

Contact Us: admin [ a t ] ucptt.com