Можно ли ограничить количество одновременно выполняемых объектов System.Threading.Tasks.Task?

Я использую классы Task для выполнения многопоточных вычислений.

Например:

   List<Task> taskList = new List<Task>();
   for(int i=0;i<10;i++){
        var task = new Task(() => Console.WriteLine("Hello from taskA."));
        taskList.Add(task);
        task.Start();
    }

Есть ли способ сделать так, чтобы выполнялось только, скажем, 3 задачи, а остальные ждали?

5
задан Andrey Rubshtein 12 January 2012 в 11:05
поделиться