1
我目前的項目是使用.net 2.0線程,並有一個主線程調度1.File下載線程和2.文件處理線程。我可以限制並行處理的最大線程數,例如16(對於已經下載的文件可能是10個文件下載和6個文件處理)。我想使用TPL遷移我的代碼。使用TPL文件下載調度程序和處理每個文件
Thread workerThread = null;
switch (Status)
{
case StatusEnum.FileWatchLocked:
workerThread = new Thread(workflowMgr.GetFiles);
break;
case FPFStatusEnum.ProcessLocked:
workerThread = new Thread(workflowMgr.ProcessFiles);
break;
}
lock (_threadCountMonitor)
{
_workFlowPool.Add(workerThread, workflowMgr);
_workFlowThreadIDPool.Add(workerThread.ManagedThreadId, workerThread);
workerThread.Start();
++_threadCount;
}
我需要跟蹤任務是否完成,我可以排隊一些更多的工作。另外我需要爲getfile和processfile實現TPL。 TPL最好的方法是什麼?
「我需要爲getfile和processfile實現TPL」你能解釋一下到底是什麼意思嗎? – svick