请看代码:

线程简单介绍using System;
线程简单介绍
using System.Threading;
线程简单介绍
线程简单介绍
class ThreadTest
}

大部分语句都已经给出注释,比较好理解。

输出结果是:

[主函数]开始创建工作线程
工作中...
工作中...
工作中...
工作中...
工作中...
工作中...
工作中...
工作中...
工作中...
[主函数]工作线程结束

在说明几点注意的地方:

Thread.Current  方法跟Thread.Sleep方法都是静态方法,不要用线程的实例去调用。

一个线程实例的构造函数需要一个ThreadStart委托作为参数,这个委托封装的是这个线程上进行的操作函数。

由于t1线程是相对于主线程是异步的,如果我们去掉t1.Join()语句,那么结果将是

[主函数]开始创建工作线程
[主函数]工作线程结束
工作中...
工作中...
工作中...
工作中...
工作中...
工作中...
工作中...
工作中...
工作中...

也就是说主线程并没有等待t1线程执行完毕再执行接下来的语句。如果要让主线程停下来等待,就加上t1.Join()语句,Join方法就可以阻塞当前正在进行的线程,直到调用它的线程t1完成。

 

此文参考:<<C#技术解密>>

                    微软MSDN文档

注:我也是边学边写,如果有误,请大家指出,谢谢

相关文章: