none
C#创建一个新的线程,如何停止线程呢?用Abort时提示错误! RRS feed

答案

全部回复

  • 你好

    或者你可以嘗試使用

    Suspend

    詳情可以參考以下URL

    http://msdn.microsoft.com/zh-tw/library/system.threading.thread(v=VS.100).aspx

    Please correct me if my concept is wrong


    Chi
    • 已标记为答案 Paul Zhou 2011年4月6日 2:18
    2011年3月30日 4:32
  • 只能方法运行结束。

    或当错误发生时,return

    2011年3月30日 14:18
  • Stop.

    2011年3月30日 14:47
  • 弹出的错误时系统弹出的,不能够捕获到。没有Stop方法呀!
    2011年3月31日 1:50
  • 你好,

    能提供相关的一些code吗?因为我在测试时Abort方法时并没有提示错误。

    这是我的测试代码:

     static void Main(string[] args)
            {
                Console.WriteLine(Thread.CurrentThread.ManagedThreadId.ToString());
                Thread th = new Thread(new ThreadStart(Show));
                th.Start();
                Thread.Sleep(1000);
                th.Abort();
                Console.ReadLine();
            }

            public static void Show()
            {
                Console.WriteLine(Thread.CurrentThread.ManagedThreadId.ToString());
                Thread.Sleep(1000);
            }


    Paul Zhou [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年4月3日 7:40
  • 用Abort方法几乎总是错误的,也是不建议的。

    要正确终止一个线程,基于这样一个事实:工作线程(或者说方法)提供了“终止我自己吧”这样的功能。如果一个工作线程没有提供这样的功能,大部分情况下说明它写的不够完善。

    一般采用“协作式取消”的方法,用到了CancellationToken这个类型。


    不如来编码
    2011年4月6日 5:57