Thread.Join

Thread.Join

MSDN解释为:使用此方法确保线程已终止。如果线程不终止,则调用方将无限期阻塞。如果调用 Join 时该线程已终止,此方法将立即返回。

如下边这个例子,

 1   static void Main()
 2         {            
 3             // Create the worker thread object. This does not start the thread.            
 4             Thread workerThread = new Thread(workMethod);
 5             
 6             // Start the worker thread.
 7             workerThread.Start();                 
 8             workerThread.Join();
 9             Console.WriteLine("Main thread: worker thread has terminated.");
10             Console.Read();
11         }
12         static void workMethod()
13         {
14             Console.WriteLine("Work thread:start sleep");
15             Thread.Sleep(1000);
16             Console.WriteLine("Work thread:finished sleep 1000");
17         }

输出结果为:

如果去掉第8行,workerThread.Join(); 则输出结果为:

因为主线程中在workthread启动后的代码会直接执行完,而如果有workerThread.Join();则会将主线程中的剩余代码阻断,直到workerThread执行完后再继续执行

转载于:https://www.cnblogs.com/Finding2013/archive/2013/04/10/3012452.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值