using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
namespace ConsoleApp1
{
public class ThreadTest
{
//定义专用线程(不使用线程池)的两种方式
public static void RunTest()
{
Console.WriteLine("main thread start...");
//Thread thread1 = new Thread(Method1); //这种写法是委托简化语法
Thread thread1 = new Thread(new ParameterizedThreadStart(Method1)); //ParameterizedThreadStart委托接受一个object参数
thread1.Start(5);
//Thread thread2 = new Thread(new ThreadStart(Method2)); //ThreadStart委托是无参的
//thread2.Start();
Console.WriteLine("main thread:doing other work ......");
Thread.Sleep(5000);
thread1.Join();
//thread2.Join();
Console.WriteLine("main thread:end.");
Console.ReadKey();
}
private static void Method2()
{
Console.WriteLine("Method2,No parameters.");
}
private static void Method1(object state)
{
//throw new NotImplementedException();
Console.WriteLine("Method1,state="+state);
}
}
}