A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© sunrise2 高级黑马   /  2014-7-16 23:09  /  730 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

指在一线程里面调用另一线程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.   
  23.         static void f2()  
  24.         {  
  25.             Console.WriteLine("This is F2.{0}", 1);  
  26.         }  
  27.     }  
  28. }  
复制代码

      这儿有三个线程在处理(包括主线程),大家可看看执行结果.  结果:  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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马