重复:杀死一个帖子(C#)
如果我在3秒内没有收到回复,我需要一种方法来杀死这个线程.
完成此任务的最佳方法是什么?它不一定必须与thread/threadstart一起使用,这就是我到目前为止所使用的内容.
Mar*_*ell 13
杀死一个线程总是一个坏主意,并且应该保留用于你已经在处理你将要杀死的病态进程的场景.你是否拥有线程中的代码?也许放入一些状态检查并在标志设置时干净地退出?
如果没有,并且您需要在中止后使用代码,则单独的进程可能比线程启动更安全.至少你不会削弱你自己的代码(例如,一个未释放的锁,或一个挂起的静态构造函数/类型初始化程序).
你可以调用myThread.Abort,它会(通常)杀死线程,但这通常是一个非常糟糕的主意.
将堕胎逻辑放入线程本身通常是更好的选择.如果线程无法在3秒的时间段内处理其工作,则它可以中止并返回适当的状态.这是一个更安全的操作,从长远来看将更易于维护.