我有文件需要上傳到某處進行處理。文件路徑駐留在數據庫表中。如何在C#中並行處理任務隊列#
在順序編程中,我獲取一堆20個(可能是n個)文件並上傳這些文件進行處理並刪除這些文件,然後處理20個文件的下一個插槽。
但我需要的是平行上傳這些文件,就像在012#C##(Parallel.For等)中的TPL並行執行任務。這在TPL中可以輕鬆實現,但我必須等待所有任務。
例如在我的任務隊列中,我有20個文件,此隊列中的19個文件的大小爲1 MB,但是一個文件的大小爲500 MB。
所以當我在這個隊列上使用並行。對於,多線程開始上傳這些文件。在這種情況下,19個較小尺寸的文件將會更快上傳,但是1個較大尺寸的文件需要花費時間。
所以我需要的是在處理較大的文件時,我可以在隊列中輸入19個其他文件並開始處理它們,並行處理大文件。
你真的應該檢查出[TPL DataFlow](https://msdn.microsoft.com/en-us/library/hh228603%28v=vs.110%29.aspx),因爲它非常適合你的要求。 – spender
您確定需要將它們上傳到**並行**而不是**異步**嗎? –