1. 程式人生 > >Netty3 VS Netty4 之執行緒模型

Netty3 VS Netty4 之執行緒模型

  • Outbound操作過程中,例如訊息編碼異常,會產生Exception,它會被轉換成Inbound的Exception並通知到ChannelPipeline,這就意味著業務執行緒發起了Inbound操作!它打破了Inbound操作由I/O執行緒操作的模型,如果開發者按照Inbound操作只會由一個I/O執行緒執行的約束進行設計,則會發生執行緒併發訪問安全問題。由於該場景只在特定異常時發生,因此錯誤非常隱蔽!一旦在生產環境中發生此類執行緒併發問題,定位難度和成本都非常大。