using System.Threading;class Program{ static void f1() { System.Console.WriteLine("f1"); } void f2() { System.Console.WriteLine("f2"); } static void f3(object obj) { System.Console.WriteLine("f3 obj = {0}", obj); } static void Main() { //方法1:指定明确的ThreadStart委托类,委托对象作为实例化线程的参数,线程被创建后,先执行委托对象引用的方法 Thread t1 = new Thread(new ThreadStart(f1)); //方法2:直接用委托对象所引用的方法来调用 Program program = new Program(); Thread t2 = new Thread(program.f2); //方法3:静态方法可以直接调用Thread的ParametrizedThreadStart构造函数方式调用 Thread t3 = new Thread(f3); //启动线程 t1.Start(); t2.Start(); t3.Start("hello"); //挂起线程:Join()方法挂起当前线程,直到调用Join()方法的线程执行完毕。 t1.Join(); t2.Join(); t3.Join(); }}