继续运行特定数量的任务

我一直试图这样做:

创建’N’任务以执行并持续运行此数量的一段时间,在这种情况下,一个任务完成,然后我应该开始一个新任务以保持相同数量的任务。

我不知道是否可以使用TaskScheduler处理这个问题,或者我必须创建一个自定义的TaskScheduler。

我认为可行的另一个选择是,当任务完成时使用TPL DataFlow Producer-Consumer,然后taskscheduler接受生产者生成的新任务。

问题是:当一个任务完成以保持相同数量的任务时,我如何创建一个新任务?

此代码将继续并行运行numTasks任务。

 int numTasks = 5; SemaphoreSlim semaphore = new SemaphoreSlim(numTasks); while(true) { semaphore.Wait(); Task.Run(() => { DoSomething(); }) .ContinueWith(_ => semaphore.Release()); } 

任务计划程序可用于运行可用于执行一组工作/任务的可执行文件。 或者,您可以简单地创建一个Windows服务…