2つのスレッドを持つC#コードがあります。printメソッドを呼び出しますが、常に同じ時間があります..なぜですか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
namespace MultiThreading
{
class Program
{
static void Main(string[] args)
{
Thread thread = new Thread(new ThreadStart(new Program().print));
Thread thread2 = new Thread(new ThreadStart(new Program().print));
thread.Name = "Thread1";
thread2.Name = "thread2";
thread.Start();
thread2.Start();
}
public void print()
{
Random r = new Random();
int time = r.Next(3000);
System.Console.WriteLine(Thread.CurrentThread.Name + ", " + (double)time/1000 + " secs!");
Thread.Sleep(time);
}
}
}
わかりました。2つのスレッドがあり、それぞれに「印刷」デリゲートがあります。
printは、time
何time
秒の数値を生成します。
thread
thread2
常に同じ時間を生成しますが、それを修正するにはどうすればよいですか?