阻塞调用线程,直到线程终止,同时继续执行标准COM和SendMessage泵送。此方法具有不同的重载形式。
使线程暂停一段时间。
Abort方法用于销毁线程。
让我们看一个Join()
in线程的例子-
using System; using System.Diagnostics; using System.Threading; namespace Sample { class Demo { static void Run() { for (int i = 0; i < 2; i++) Console.Write("示例文本!"); } static void Main(string[] args) { Thread t = new Thread(Run); t.Start(); t.Join(); Console.WriteLine("线程终止!"); Console.Read(); } } }
让我们看一下线程中abort()
和的示例sleep()
。
using System; using System.Threading; namespace Demo { class ThreadCreationProgram { public static void CallToChildThread() { try { Console.WriteLine("Child thread starts"); //做一些工作,例如数到10- for (int counter = 0; counter <= 10; counter++) { Thread.Sleep(500); Console.WriteLine(counter); } Console.WriteLine("Child Thread Completed"); } catch (ThreadAbortException e) { Console.WriteLine("Thread Abort Exception"); } finally { Console.WriteLine("Couldn't catch the Thread Exception"); } } static void Main(string[] args) { ThreadStart childref = new ThreadStart(CallToChildThread); Console.WriteLine("In Main: Creating the Child thread"); Thread childThread = new Thread(childref); childThread.Start(); //停止主线程一段时间 Thread.Sleep(2000); //现在中止孩子 Console.WriteLine("In Main: Aborting the Child thread"); childThread.Abort(); Console.ReadKey(); } } }