task-parallel-library

    2熱度

    2回答

    以下是我所嘗試的 - 它的工作原理,只要看到用戶界面刷新,但我不認爲它是最佳使用異步/等待。我該如何改進? private async void btnQuickTest_Click(object sender, RoutedEventArgs e) { XmlReader reader; int rowCount = 0; using (reader = XmlR

    0熱度

    2回答

    我有一個場景,我必須在學生列表中並行/獨立地運行學生列表。但是,當我用下面的代碼運行這些程序時,程序沒有正確完成就結束了。 public async Task ProcessStudents() { var students = await GetStudentsAsync().ConfigureAwait(false); ProcessSingleStudent(stude

    1熱度

    1回答

    我有哪些,其核心是通過調用類似方法運行幾個永無止境的循環服務: public async Task DoStuffPeriodically(CancellationToken token); 他們通過調用調用: var tokenSource = new CancellationTokenSource(); var stuffTask = DoStuffPeriodically(tokenS

    0熱度

    1回答

    我的意思是說,我們有一個異步方法Task<string> CalculateSha256(string s)。是否有可能,線程#1和線程#2的調用連續執行被認爲是同時執行的,沒有線程#1和#2知道對方的任何事情嗎?例如,我有一個控制器, public async Task<string> Get(string value) { return await CalculateSha256(

    2熱度

    4回答

    我描述了我的問題在一個簡單的例子,然後描述更貼近問題的並行執行。假設我們在box1中有n項[i1,i2,i3,i4,...,in],並且我們有一個可以處理m個項目的box2(m通常遠小於n)。每個項目所需的時間是不同的。我希望在所有項目都進行之前,一直都在做m個工作項目。 更加緊密的問題是,例如,您有一個包含n個字符串(URL地址)的文件列表1,我們希望系統具有m個文件併發下載(例如,通過http

    0熱度

    3回答

    我有一個WPF應用程序,其中有很多事件啓動任務。這是我如何做的。但我不樂意了,現在 var task = UpdatePersonModelAsync(); taskCollection.Add(task); RaisePropertyChanged(nameof(IsUpdateInProgress)); await task; taskCollection.Remove(task);

    0熱度

    3回答

    我正在處理一個WPF應用程序,在該應用程序中,只要數據綁定到滑塊的屬性發生更改,我就需要執行冗長的操作。有沒有簡單的方法來爲這個操作排隊異步任務,但確保只有最近排隊的任務運行?

    2熱度

    1回答

    在我的ASP.NET Core應用程序中,我有一個看似非常簡單的操作。它等待來自異步方法中的一些值,然後返回它作爲OK-結果: public async Task<IActionResult> GetNextCommand() { var command = await LongPollManager.Instance.GetNextCommand(HttpContext.Reques

    1熱度

    1回答

    我試圖將一條消息的副本從ActionBlock<int>發送給多個使用者,這些使用者也是ActionBlock<int>。這很好,但是如果其中一個目標塊引發異常,看起來這不會傳播到源塊。在這裏,我怎麼嘗試處理異常,但它從未進入到catch部分: static void Main(string[] args) { var t1 = new ActionBlock<int>(async i

    0熱度

    1回答

    我想要實現使用持續運行類似問題here和代碼here的BufferBlock消費者/生產模式。 我試圖使用類似於OP的ActionBlock,但是如果bufferblock已滿並且新消息位於其隊列中,則新消息永遠不會添加到ConcurrentDictionary _queue中。 在ConsumeAsync方法時,一個新的消息添加到與該呼叫的bufferblock不會被調用下面的代碼:_messa