2012-02-05 100 views
0

我有一個應用程序,目前使用三個線程,所有設置爲實時調度,通過udp套接字連接接收數據。我使用三個線程來嘗試加速數據管道,即輪詢數據並從recv緩衝區中提取數據,另一個將數據複製到Queue中,另一個將數據寫入文件。多個實時線程導致udp套接字連接瓶頸

是否有多個實時線程會導致udp連接出現問題,例如,如果嘗試複製數據的線程在試圖從緩衝區獲取數據的線程上發生爭用?

回答

1

是的,提高線程的實時優先級似乎是一個壞主意,請參閱this post瞭解一些細節。

你有沒有考慮過相反的做法?有兩個或更多相同線程的副本,進行讀取和複製操作。現在對它們進行同步,以便只要第一個線程讀完並開始將數據複製到隊列中,第二個線程就開始讀取。將隊列中的數據保存到文件最好在單個線程中完成(除非您有多個磁盤等)。