none
VB.net如何 强行/马上 终止一个线程 RRS feed

  • 问题

  • 是这个的,我这个线程里有一个无限的循环,然而运行到一定程度后,突然想停止这个进程,有什么办法?
    t.Abort()函数又只能等进程执行完了才结束,而这种情况进程根本就没有自动结束的可能,我这线程执行的代码是这样子的

      Public Sub killMonster()
      While True
      Dim i As Integer
      Threading.Thread.Sleep(5000) '程序暂停5秒
      Debug.Print("线程开始第 " & i & " 次")
      i = i + 1
      End While
      End Sub

    但一想,似乎也不对,大名鼎鼎的VB.net不太可能会没有这样的解决方法呀,请问还有什么好办法?

    有一个办法可以,在线程里自行判断是否需要退出,但想着想着也不对,难道我每次循环就得去判断一次么?还有我循环的次数完全是不能确定的,,又不能在调用的时候就传进来,,

    进程的结束,如果能自行结束当然好,但是出现循环了,不能自行结束,应该怎么办?
    • 已移动 Frank Xu LeiModerator 2011年3月14日 13:48 vb (发件人:Windows Communication Foundation)
    2011年3月14日 10:19

答案

  • Thread.Abort 方法是终止线程。如果你要Kill进程,你可以用 Process.Kill 方法。

    根据你的代码,你可以设置一个Timer在一定时间后触发事件去Abort线程 或者直接Kill进程来结束。

     

    Sincerely,


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年3月14日 18:13
    版主