1
Netty是否可以創建一個工作線程來完成一組套接字的所有發送?目前看來,netty會將出站消息發佈到隊列中,並嘗試喚醒選擇器,然後將選擇器複製到未使用的緩衝區併發送。這需要時間。是否可以直接從不同的線程發送?Netty需要發送與select()相同的線程,以延遲發送
Netty是否可以創建一個工作線程來完成一組套接字的所有發送?目前看來,netty會將出站消息發佈到隊列中,並嘗試喚醒選擇器,然後將選擇器複製到未使用的緩衝區併發送。這需要時間。是否可以直接從不同的線程發送?Netty需要發送與select()相同的線程,以延遲發送
這是不可能的。 Netty不知道用戶將從哪個線程調用write()。因此,它需要一個寫請求隊列和一個專用循環來執行寫操作。否則,根據用戶如何編寫他/她的應用程序,應用程序將遭受爭用。在負載下,擁有專用的I/O環路並運行帶有流水線的協議看起來會產生更高的吞吐量。