.NET多线程编程(8)——Thread类的Join()思路

  [介绍说明:刚接触多线程时弄不明白Join作用查阅了 3本书都不明不白后来经过自己番试验终于弄清了Join本质大家看看我这种写法是否易懂是否真写出了Join本质多提宝贵意见]
Thread类Join思路方法能够将两个交替执行线程合并为顺序执行线程比如在线程B中了线程AJoin思路方法
        线程A将插入线程B的前直到线程A执行完毕后才会继续执行线程B
试试:线程插入
//C#初学课堂
//注意添加命名空间
using .Threading;
void Main( args)
{
//线程A
Thread ThreadA = Thread(delegate
{
for ( i = 0; i <= 100000000; i)
{
(i % 1000000 0)
{
Console.Write('A');
}
}
});
//线程B
Thread ThreadB = Thread(delegate
{       
for ( i = 0; i <= 50000000; i)
{
(i % 1000000 0)
{
Console.Write('B');
}
}
//在这里插入线程A
ThreadA.Join;
for ( i = 0; i <= 50000000; i)
{
(i % 1000000 0)
{
Console.Write('b');
}
}
});
//启动线程
ThreadA.Start;
ThreadB.Start;
}
运行结果如下你能分析清楚为什么吗?
Join思路方法" />
由运行结果可以看出开始两个线程交替进行当线程B执行到语句“ThreadA.Join”时线程A被插入到线程B的前两个线程合并到起变为顺序执行直到执行完线程A中所有语句才去执行线程B中剩余语句   
       换句话说当我们在线程B中ThreadA.Join时该思路方法只有在线程ThreadA执行完毕的后才会返回Join还可以接受个表示毫秒数参数当达到指定时间后如果线程A还没运行完毕那么Join将返回这时线程A和线程B再次处于交替运行状态中




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/203206,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值