最近調查socket使用select錯誤問題,
程式很復雜
webserver執行緒,創建埠,系結callback中recv
netFrameWork執行緒,主執行緒監聽,select到資料后
使用異步執行緒處理accept,accept到訊息后,創建socket 添加到鏈表中,
主執行緒通過鏈表監聽新的FD。
現在程式出現問題,程式空閑的時候socket可以正常處理。
但是設備忙的的時候出現,select很多訊息,全部扔到異步執行緒池中,
異步執行緒池開始的時候沒有進行處理,過段時間才能夠accept,創建FD,
并且創建的FD會監聽到很多空請求。
請問是不是這種機制不適合設備性能差或者設備繁忙的時候?
異步執行緒中的空請求,需要處理很長時間都處理不過來。但是等足夠的時間,web還是能夠成功顯示的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/129797.html
標籤:網絡協議與配置
下一篇:匯編 網路編程 哪里有資料
