【发布时间】:2012-12-17 00:58:57
【问题描述】:
我当前的项目正在使用 .net 2.0 线程,并且有一个主线程用于调度 1.文件下载线程和 2.文件处理线程。我可以限制并行处理的最大线程数,比如 16 个(可能是 10 个文件下载和 6 个已下载文件的文件处理)。我想使用 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” 你能解释一下你的意思吗?
标签: .net task-parallel-library