私はC#マルチスレッドを学びたいと思っています。この質問は愚かかもしれませんが、とにかく私は依頼します。学習課題[]
質問:私は置くべき場所 thread.wait()
方法を(私は右の質問を求めている場合)を把握しようとしている
。したがって、コンソールにすべての子スレッドを表示することができます。これは私が望む出力です。
私は、入力されたint num
3.
これは、(私がブレークポイントでこれを実行している)を出力する必要があります:
これは、現在の出力です:
ここに私のコードです:
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Input number of threads: ");
int num = Convert.ToInt32(Console.ReadLine());
Task[] TaskArray = new Task[num];
for (int i = 0; i <= num-1; i++)
{
TaskArray[i] = Task.Run(() => { DifferentMethod(i); });
}
for (int i = 0; i <= num - 1; i++)
{
TaskArray[i].Wait();
}
}
static void DifferentMethod(object ThreadID)
{
while (true)
{
Console.WriteLine("{0} is Running",ThreadID);
Thread.Sleep(500);
}
}
}
}
タスクを完了するためにメインスレッドはその時点でお待ちしております!=スレッド。 –
'Task.Run' ==スレッド –
@BradleyUffner no。あなたが 'Task.Run'で100万のタスクを作成すると、それらを実行するスレッドは100万個になると思いますか? –