核心思路是,將主線程的IO讀寫任務拆分出來給一組獨立的線程執行,使得多個 socket 的讀寫可以并行化
主線程負責接收建立連接的請求,獲取socket放到全局等待處理隊列
主線程處理完讀事件之后,通過Round Robin將這些連接分配給IO線程(并不會等待隊列滿)
主線程阻塞等待IO線程讀取socket完畢
主線程通過單線程的方式執行請求命令,請求數據讀取并解析完成,但并不執行
主線程阻塞等待IO線程將數據回寫socket完畢
解除綁定,清空等待隊列
該線程有如下特點:
IO線程要么同時在讀socket,要么同時在寫,不會同時讀或寫
IO線程只負責讀寫socket解析命令,不負責命令處理(主線程串行執行命令)