task-parallel-library

    0熱度

    2回答

    我正在使用.NET新的TPL庫,並面對一些我無法解釋的奇怪行爲。出於某種原因,嵌套任務不會在我的情況下啓動。我簡化了我的解決方案: bool flag = false; for (int i = 0; i < 5; i++) { Task.Factory.StartNew(() => { while (true)

    1熱度

    1回答

    我在關於C#中的並行編程的文本書中編寫了一個示例。本書建議Parallel.Invoke可以取代任務的創建,調用和等待。但是,我試過並發現如果使用Parallel.Invoke,則在返回值之前任務不會完成。但理論上,Parallel.Invoke應該始終等待。 的代碼: private byte[] getDataForGraph(int dataSize) { byte[]

    4熱度

    3回答

    我正在開發一個向客戶端公開Web服務的簡單服務器。某些請求可能需要很長時間才能完成,並且邏輯上分爲多個步驟。對於這樣的請求,需要在執行期間報告進度。另外,新的請求可以在前一個完成之前啓動,並且要求兩者同時執行(禁止某些系統特定的限制)。 我在考慮讓服務器返回一個TaskId給它的客戶端,讓客戶端使用TaskId跟蹤請求的進度。我認爲這是一個很好的方法,而我留下的是如何管理任務的問題。 從來沒有使用

    14熱度

    3回答

    特別是,我正在考慮使用TPL來啓動(並等待)外部進程。在決定開始另一項任務之前,TPL是否會考慮總的機器負載(包括CPU和I/O)(因此 - 在我的情況下 - 是另一個外部過程)? 例如: 我已經得到了需要進行編碼或轉碼(例如,從WAV後手或FLAC到MP3)約100媒體文件。編碼是通過啓動外部進程(例如FLAC.EXE或LAME.EXE)完成的。每個文件大約需要30秒。每個進程大都是CPU限制的

    0熱度

    1回答

    目前卡在C#2中,使用TPL的平行優點仍然很好......這可能嗎?

    0熱度

    3回答

    我有一個數據庫表的HTML內容存儲爲二進制序列化blob。我需要逐個檢索內容,在內容中查找某些關鍵字(並報告找到的匹配項),並將內容以HTML文件形式保存到磁盤中。我可以使用Parallel.ForEach進行推理嗎?這是一個好主意還是有更好的主意? 預先感謝幫助, 阿希什

    75熱度

    2回答

    任務並行庫是否有任何可以被視爲對BackgroundWorker類的替代或改進? 我有一個嚮導式UI的WinForms應用程序,它執行一些長時間運行的任務。我希望能夠通過標準進度條獲得響應式用戶界面,並且能夠取消操作。我之前用BackgroundWorker完成了這個,但是我想知道是否有一些TPL模式可以用來代替?

    0熱度

    1回答

    我製作了一個程序來測試C#4.0中的並行編程。但是,有一個問題,我不明白爲什麼。 我寫一個方法 private void compute(int startValue, int endValue, ConcurrentBag<Pair> theList) { try { Task computation = Task.Factory.StartNew

    3熱度

    2回答

    前一陣子我問了this question。我現在知道這是一個糟糕的想法,應該抽象封裝任務的調度和運行,以便可以從單元測試中傳入一個同步調度器。 我目前得到的代碼使用了Task Parallel Library(TPL),我想在我的類型中注入類似ITaskScheduler的東西,以提取調度責任並使我能夠在我的測試中傳遞同步替代方案。 這樣的事情是否存在?我正在尋找包裝Task.Factory.St

    21熱度

    3回答

    我正在通讀一本關於C#任務並行庫的書,並且有以下示例,但TaskScheduler.UnobservedTaskException處理程序永遠不會被觸發。任何人都可以給我任何線索,爲什麼? TaskScheduler.UnobservedTaskException += (object sender, UnobservedTaskExceptionEventArgs eventArgs) =>