簡體   English   中英

這是Task Parallel Library的好用例嗎?

[英]Is this a good use case for Task Parallel Library?

我有一種情況,需要一些建議。 我打電話給Twitter以獲得轉發,回復,喜歡和類似的東西。 Twitter當然會限制您的通話費用,因此我需要加快通話速度。 而且由於不想讓一個用戶被鎖定而等待很長時間,因為我仍然想繼續與其他用戶互動,所以我認為我應該使用多個線程。 作為實驗,我嘗試了並行任務庫,例如:

Task.Factory.StartNew(() => Parallel.ForEach<BatchJob>(jobsToProcess, job =>
{
    //call Twitter here
}); 

從測試來看,這似乎在消耗大量CPU並凍結了整個系統。 我的問題是:這是否適合使用並行任務? 我不需要等待一項任務完成就可以開始另一項任務。 它們都可以同時運行。 換句話說,任務不相互依賴。

如果在webApp的上下文中,您的呼叫將丟失。 請查看構建2013的會議,他們在其中解釋原因。 如果它是桌面應用程序,則只要您使用“ dispatcher”對象來更新視覺效果,它就應該可以工作。

我不喜歡使用“ task.factory”,而是我自己,但是我更喜歡使用語法“ new task(()=> {...})

編輯:沒有並行任務不會改變任何事情。

它是評論,找不到評論鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM