class Program
{
//主线程
static void Main(string[] args)
{
StartThreads();
Console.ReadKey();
}
public static void StartThreads()
{
Stopwatch watch = new Stopwatch();
watch.Start();
Thread t1 = new Thread(Print1);
t1.Name = "Thread1";
Thread t2 = new Thread(Print1);
t2.Name = "Thread2";
Thread t3 = new Thread(Print1);
t3.Name = "Thread3";
//启动3个新的线程(同时执行Print1操作,属于并发行为)
t1.Start();
t2.Start();
t3.Start();
//注释掉线程Join方法,对主线程的后续程序来说存在异步行为
//t1.Join();
//t2.Join();
//t3.Join();
Console.Write(watch.Elapsed);
watch.Restart();
Print2();
Console.Write(watch.Elapsed);
}
public static void Print1()
{
for (int i = 0; i < 1000; i++)
{
Console.WriteLine(Thread.CurrentThread.Name+":"+i);
}
}
public static void Print2()
{
for (int i = 0; i < 3000; i++)
{
Console.WriteLine(i);
}
}
}