2

複数のタスクをノンストップで継続的に実行しようとしています。これが私のコードです:

int maxThread = 100;
Task[] tasks = new Task[maxThreads];
while(true)
{
   for(int i = 0;i<maxThreads;i++)
   {
     tasks[i] = new Task.Factory.StartNew(someTask);
   }
   Task.WaitAll(tasks);
}

したがって、この関数はすべてのタスクが完了するのを待って、次のタスクのバッチを実行します。しかし、他のタスクを待たずに、タスクが終了したらすぐにタスクを開始したいと思います。

ありがとう!

4

2 に答える 2

0

これを使いたいです。タスクをその親にアタッチします。簡単です。このような。

Task t1 = new Task(()=>{
    // put your children tasks here.
    Task.Factory.StartNew(()=>{}, TaskCreationOptions.AttachedToParent);
});

t1.RunSynchronously();

// then start your next batch tasks.
于 2013-05-26T16:03:13.067 に答える