[閒聊] 撞牆了

作者: 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