摘要: Thread.Join()在MSDN中的解释很模糊:Blocks the calling thread until a thread terminates有两个主要问题:1.什么是the calling thread? 2.什么是a thread? 首先来看一下有关的概念: 我们执行一个.exe文件实际上就是开启了一个进程,同时开启了至少一个线程,但是真正干活的是线程,就好比一个Team有好几个人,但是真正干活的是人不是Team. 具体到代码来说,以Console Application为例:程序Test.exe从Main函数开始运行,实际上是有一个线程在执行Main函数,我们称作MainTh 阅读全文
posted @ 2011-06-21 23:54 koll 阅读(899) 评论(2) 推荐(3)
摘要: .net中的System.Threading命名空间的Interlocked类可以为多个线程共享的变量提供原子操作。 经验显示,那些需要在多线程下被保护的资源通常是整型的,而这些被共享的整型值最常见的操作就是增加、减少。Interlocked类提供了一个专门的机制用于完成这些特定的操作。 下面的例子是一个没有使用Interlocked类的操作: class Program { static long counter = 1; static void Main(string[] args) { System.Threading.Thread t1 = new System.Threading.T 阅读全文
posted @ 2011-06-21 23:41 koll 阅读(1893) 评论(1) 推荐(2)