日期:2014-05-18  浏览次数:20889 次

Abort()和Join()放在一起应该怎么理解?
看多线程程序设计的时候经常看到这样的语句:

thread1.Abort();
thread1.Join();

我对它的理解是程序有主线程,在主线程中执行thread1.Abort(),主线程不管thread1有没有被完全关闭继续执行thread1.Join()把thread1并到主线程中,等thread1.Abort()彻底把这个线程关掉再执行thread1.Join()后面的语句。感觉有点乱,各位高手说我这样理解的对吗?

------解决方案--------------------
应该是这样的,至少程序是这个意图。
------解决方案--------------------
阻塞调用线程,直到某个线程终止时为止。
我的理解和搂住差不多

------解决方案--------------------
thread1.Join();
阻止调用线程,直到某个线程终止时为止。
thread1.Abort();
以开始终止此线程的过程。调用此方法通常会终止线程。
------解决方案--------------------
//终止thread1线程
thread1.Abort();
//主线程挂起等待,直到thread1完全终止
thread1.Join();
//thread1线程已终止,主线程继续执行