task-parallel-library

    0熱度

    1回答

    我建立了一個基本的WCF控制檯服務器應用程序。我的目標是以並行方式處理對它的多個調用,但當前版本按順序處理它們。 請多多包涵,因爲有代碼遵循一堵牆,但它是非常基本的東西。我很難孤立,因爲它是一個相當大的VS解決方案的一部分。 我已經走了下來TPL和異步的路/等待關鍵字,我基本上了解和喜歡。 服務接口: <ServiceContract()> Public Interface IGetBacken

    1熱度

    1回答

    我是TPL Dataflow的新手。我有一個需要處理的項目編號列表。一個項目可能有大約8000項目,我需要獲取項目中每個項目的數據,然後將這些數據推送到5個獨立的服務器中。 這是我到目前爲止編碼。我一直堅持如何將這些數據加載到5臺服務器的步驟。我不確定這是否正確編碼。任何意見非常感謝。 public static bool PushData(string projectId) { va

    3熱度

    3回答

    我用Pcap.Net交通監控,我需要它,直到用戶請求取消接收數據包。創建監視任務這樣(簡化): var task1 = Task.Run(() => { communicator.ReceivePackets(0, PacketHandlerCallback); } /*, token*/); 這裏0說的ReceivePackets執行永遠不會結束,PacketHandlerCallback是

    1熱度

    1回答

    我仍然對TPL DataFlow感到厭倦,所以請耐心等待。 我的應用程序需要並行執行隊列,同時保持其順序。這導致我到DataFlow庫和我想要做的。我想知道是否有一種方法可以將一個ActionBlock鏈接到另一個ActionBlock,而第二個從第一個ActionBlock的值開始操作。 僞例如: var block1 = new ActionBlock<ByteBuffer>(buffer =

    2熱度

    1回答

    我想知道在C#中AsParallel和AsParallel.Select()之間的區別是什麼,因爲兩者都返回AsParallelQuery的實例。 考慮下面的代碼片段: var list = Enumerable.Range(1, 100).ToList(); var parallelList = list.AsParallel(); foreach (var num

    1熱度

    1回答

    我想知道是否有一個簡潔的方式來替代IDataflowBlock.Completion來取代ReceiveAsync或類似的方法使用取消令牌從BufferBlock或其他IDataflowBlock消耗。 IDataflowBlock.ReceiveAsync<T>(TimeSpan, CancellationToken) 如果InputQueue是BufferBlock: BufferBloc

    4熱度

    1回答

    我發現在喬恩斯基特的下面的例子「C#深入第三版」: static async Task<int> GetPageLengthAsync(string url) { using (HttpClient client = new HttpClient()) { Task<string> fetchTextTask = client.GetStringAsync(url

    4熱度

    2回答

    我創建了一個活動來執行Web請求並將結果存儲到數據庫中。通常這個過程大約需要1個小時,並且會導致工作流引擎出現異常。我發現對於這些長時間運行的活動,我應該編寫一些不同的代碼,以便工作流引擎線程不會被阻塞。 學習一些關於編寫長時間運行活動的博客我明白我應該使用Bookmark概念。但我沒有使用TPL和Task的任何解決方案。 此代碼是否正確使用Task s來處理長時間運行的活動? public se

    4熱度

    1回答

    我使用TPL數據流來創建它們通過輸出到輸出bufferBlock inputQueue = new BufferBlock<InputPacket>; processQueue = new TransformBlock <InputPacket, OutputPacket>; outputQueue = new BufferBlock<OutputPacket>; inputQueue.L

    0熱度

    3回答

    我的任務是增加slidercontrol,其值是加快或放慢的輸出是什麼產生價值的任務。我目前有一個任務正在運行一個無限循環並將​​屬性設置回UI。另外,我也在線程睡眠中硬編碼一個值來控制輸出的速度。我想知道是否可以在Threas.Sleep中創建該變量而不是硬編碼,並且可以在任務正在進行時更改該變量。我有一個想法,當滑塊更改並使用滑塊控件的值重新啓動時,我可以取消該任務。代碼的任務是這樣: Tas