class PRogram { Thread t1;//線程1 Thread t2;//線程2 Thread t3;//線程3 int i = 0; static void Main(string[] args) { Program demo = new Program(); demo.GoStart(); } public Program() { t1 = new Thread(new ThreadStart(run)); t2 = new Thread(new ThreadStart(run)); t3 = new Thread(new ThreadStart(run)); t1.Name = "線程⑴"; t2.Name = "線程⑵"; t3.Name = "線程⑶"; } private void run() { while (1 == 1) { Monitor.Enter(this); Console.WriteLine(Thread.CurrentThread.Name+"輸出了"+i); i++; if (i > 1000) { ThreadStop(); } Monitor.Exit(this); Thread.Sleep(10); } } private void ThreadStop() { Console.WriteLine("執行完成"); t1.Abort(); t2.Abort(); t3.Abort(); GC.Collect();//不知道是否有用,請大牛指點,本人連菜鳥都不是哦 } public void GoStart() { t1.Start(); t2.Start(); t3.Start(); } }
新聞熱點
疑難解答