南汇大学城在线's Archiver

yiwenshengmei 发表于 2008-2-5 09:41

问一个关于.Net中终止线程的问题.

问一个关于.Net中终止线程的问题.
(这种帖子应该放哪比较合适呢?信息学院or数码天地,MS数码天地的高手比较多一点的)
我在一个线程的中这样写到(该线程叫t1):
while(true)
{
   socket.Receive();
   ....
   ....
}

然后在窗口的Form_Closing事件中这样写到:
t1.Abort();
t1.Join();
....
....

然后当我单击关闭窗口关闭按钮的时候程序就假死了.
通过调试我发现经过t1.Abort()语句后无论多长时间(当然不包括网络上来了数据),t1的状态始终为AbortRequested,而不是想象中的Stopped.难道由于socket.Receive();的存在线程就无法终止了?
那么我该怎么做才能终止这个线程呢?

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.