目前,我在下面的代码中显示排队等待处理的Job对象列表.
List<Job> jobList = jobQueue.GetJobsWithStatus(Status.New);
foreach (Job job in jobList)
{
job.Process();
}
Run Code Online (Sandbox Code Playgroud)
我有兴趣在有限数量的线程中同时运行几个Jobs(比如5个线程).
在c#中执行此操作的最佳方法是什么?
补充说明:
更新:我使用了一个信号量,因为我无法使用ThreadPool限制活动线程的数量.
如果您喜欢冒险,可以使用C#4.0和任务并行库:
Parallel.ForEach(jobList, curJob => {
curJob.Process()
});
Run Code Online (Sandbox Code Playgroud)