我目前有一個控制檯應用程序,它基本上做了一個無限循環,並做webrequest。多線程控制檯應用程序問題c#
但我想知道什麼多線程庫會對此有好處。
所以目前它做了一個循環獲取Web請求,然後在Mongo數據庫中填充結果。這必須爲每個請求完成。
位堅持哪種方法將是理想的?
任何建議都會很好。
感謝
我目前有一個控制檯應用程序,它基本上做了一個無限循環,並做webrequest。多線程控制檯應用程序問題c#
但我想知道什麼多線程庫會對此有好處。
所以目前它做了一個循環獲取Web請求,然後在Mongo數據庫中填充結果。這必須爲每個請求完成。
位堅持哪種方法將是理想的?
任何建議都會很好。
感謝
你可以只使用Parallel.ForEach
,可能設置的最大線程數,並在你的整個集合運行操作。
請注意,多線程將要求您同步對共享數據的訪問。
這就是說,在這種情況下,大部分時間都在等待IO。因此,使用異步方法調用可能比線程化操作更好,因爲線程只會不必要地阻塞多個線程。 MSDN有一個不錯的Walkthrough on Accessing the Web using Async and Await可以轉換爲您的使用。
乾杯會看看那個。當我嘗試使用並行時,由於網絡請求和響應未完成而導致問題。但會看看鏈接。 – tjhack
System.Threading.Thread是一個不錯的選擇。 –
@HanletEscaño:不;它不是。使用TPL。 – SLaks
你實際上想要異步,而不是線程。 – SLaks