如何强制结束一个线程?

yangjundeng 2005-03-24 08:57:02
在网络编程中,我起用了一个新的线程来阻塞式的处理客户端的连接,现在我要在主线程中关闭这个新的线程,调用了线程类的About()方法,但是无效,请问各位,有什么解决的办法?
...全文
686 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
simonzone 2005-03-25
  • 打赏
  • 举报
回复
如果你想让主线程中关闭后,也把该线程关闭的话,设为后台进程. Thread.IsBackground = true
yangjundeng 2005-03-25
  • 打赏
  • 举报
回复
Sunmast(速马|AIR SUPPLY!) 能不能说得更详细点?
速马 2005-03-24
  • 打赏
  • 举报
回复
.About()
.Join()
yuhq 2005-03-24
  • 打赏
  • 举报
回复
调用Abort()就可以了
lw8122 2005-03-24
  • 打赏
  • 举报
回复
补充: 在进程中,由于被阻塞了,是无法调用abort的。

调用abort的,必须是另一个线程(比如winform所在的线程)。
lw8122 2005-03-24
  • 打赏
  • 举报
回复
在Thread之外的变量(比如全局变量)中,保留在Thread里面阻塞的线程的引用。

在Thread中,阻塞的代码,必须包在Try{}中。

在需要停止进程时,只要对进程中的socket调用abort(),那么,阻塞也就停止了,并报一个错误。 这个错误,在catch{}里容错掉就OK了
hujiiori 2005-03-24
  • 打赏
  • 举报
回复
关注,我也遇到过这样的问题,对于在阻塞状态下的线程不知道如何中止,我是这样处理的:如果阻塞的方法有timeout,就把timeout设短一些,实在不行就直接kill进程,-_-#
xxxxxxxxx 2005-03-24
  • 打赏
  • 举报
回复
mark
hamadou 2005-03-24
  • 打赏
  • 举报
回复
up!
lw8122 2005-03-24
  • 打赏
  • 举报
回复
嘿嘿,我也想求了一幽雅的办法,但是,目前还没找到。

关注一下,和你一起求吧
yangjundeng 2005-03-24
  • 打赏
  • 举报
回复
lw8122(随风)的方法是可以的。可是不够优雅,请问有没有更好的办法啊?

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧