C#中Thread类中Join方法的理解(转载)

时间:2023-03-08 23:43:28
C#中Thread类中Join方法的理解(转载)
指在一线程里面调用另一线程join方法时,表示将本线程阻塞直至另一线程终止时再执行      比如
  1. using System;
  2. namespace TestThreadJoin
  3. {
  4. class Program
  5. {
  6. static void Main()
  7. {
  8. System.Threading.Thread x = new System.Threading.Thread(new System.Threading.ThreadStart(f1));
  9. x.Start();
  10. Console.WriteLine("This is Main.{0}", 1);
  11. x.Join();
  12. Console.WriteLine("This is Main.{0}", 2);
  13. Console.ReadLine();
  14. }
  15. static void f1()
  16. {
  17. System.Threading.Thread y = new System.Threading.Thread(new System.Threading.ThreadStart(f2));
  18. y.Start();
  19. y.Join();
  20. Console.WriteLine("This is F1.{0}",1);
  21. }
  22. static void f2()
  23. {
  24. Console.WriteLine("This is F2.{0}", 1);
  25. }
  26. }
  27. }

这儿有三个线程在处理(包括主线程),大家可看看执行结果.  结果:  This is Main.1  This is F2.1  This is F1.1  This is Main.2 
如果: 注释//  x.Join();  结果:  This is Main.1  This is Main.2  This is F2.1  This is F1.1