public class MyThread//傳參 { public double Diameter=10; public double Result=0; public MyThread(int Diameter) { this.Diameter = Diameter; } public void Calculate() { Console.WriteLine( "Calculate Start"); Thread.Sleep(2000); Result = Diameter*Math.PI;; Console.WriteLine("Calculate End, Diameter is ,Result is " ,this.Diameter, Result); } } MyThread t=new MyThread(5.0); ThreadStart threadStart=new ThreadStart(t.Calculate) Thread thread=new Thread(threadStart); thread.Start();}
//不傳參using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace 線程練習 { class Program { static void Main(string[] args) { Console.WriteLine("開始一個新的線程,名為次線程"); Thread t = new Thread(new ThreadStart(ThreadProc)); t.Start(); for (int i = 0; i < 4; i++) { Console.WriteLine("主線程:" + i); Thread.Sleep(1000); } Console.WriteLine("調用Join函數等待次線程結束"); //當次線程執行完畢後,Join阻塞調用線程,直到某個線程終止為止,本例為次線程 t.Join(); Console.WriteLine("線程執行完畢"); } public static void ThreadProc() { for (int i = 0; i < 10; i++) { Console.WriteLine("ThreadPorc:{0}", i); Thread.Sleep(1000);//將當前進程阻塞指定的毫秒數 } } } }