額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
boost asio 1.60
我現在在用 boost asio 寫 socket, 有執行緒的問題,
本來我打算分幾個執行緒去作業,
收封包, 寄封包, 接連線, 然後每個使用者獨立一個執行緒,
不過我後來發現 asio 本身就是 多執行緒的架構???
只要使用 io_service->post(), 和 async_XXXXX() 系列的function,
就會自動跑多執行緒???
所以其實我在 socket 的部分, 應該完全沒有分執行緒的必要????
另外 本來我 send 不是即時的,
我會先都堆起來, 每個tick send一個固定的數量,
避免一次太多包要寄 會塞車,
(這意思不是單一封包太大, 是可以能非常多使用者, 同時在操作,
要寄很多不同的封包, 給不同的使用者)
不過如果 async_write 本身就是多執行緒在跑了,
等於每個資料 都是一個執行緒在處理???
那其實就也沒有分批的必要了????