【发布时间】:2010-03-06 21:26:17
【问题描述】:
目前,我有排队等待按顺序处理的作业对象列表,如下面的代码所示。
List<Job> jobList = jobQueue.GetJobsWithStatus(Status.New);
foreach (Job job in jobList)
{
job.Process();
}
我有兴趣在有限数量的线程中同时运行多个作业(比如说 5 个线程)。
在 c# 中最好的方法是什么?
补充说明:
- Job 对象不共享资源 与其他工作。
- 每个 Job 大约需要 10 秒 过程。
- 每个作业都可以连接到 不同的资源。
更新:我使用了 Semaphore,因为我无法使用 ThreadPool 限制活动线程的数量。
【问题讨论】:
标签: c# multithreading