如何销毁C#中的线程?

Abort()方法用于销毁线程。

运行时通过抛出ThreadAbortException中止线程。无法捕获此异常,控制将被发送到finally块(如果有)。

以下是显示如何销毁线程的示例-

示例

using System;

using System.Threading;

namespace MultithreadingApplication {

   class ThreadCreationProgram {

      public static void CallToChildThread() {

         try {

            Console.WriteLine("Child thread starts");

            //做一些工作,例如数到10-

            for (int counter = 0; counter <= 10; counter++) {

               Thread.Sleep(500);

               Console.WriteLine(counter);

            }

            Console.WriteLine("Child Thread Completed");

         } catch (ThreadAbortException e) {

            Console.WriteLine("Thread Abort Exception");

         } finally {

            Console.WriteLine("Couldn't catch the Thread Exception");

         }

      }

      static void Main(string[] args) {

         ThreadStart childref = new ThreadStart(CallToChildThread);

         Console.WriteLine("In Main: Creating the Child thread");

         Thread childThread = new Thread(childref);

         childThread.Start();

         //停止主线程一段时间

         Thread.Sleep(2000);

         //现在中止孩子

         Console.WriteLine("In Main: Aborting the Child thread");

         childThread.Abort();

         Console.ReadKey();

      }

   }

}

输出结果

In Main: Creating the Child thread

Child thread starts

0

1

2

In Main: Aborting the Child thread

Thread Abort Exception

Couldn't catch the Thread Exception

以上是 如何销毁C#中的线程? 的全部内容, 来源链接: utcz.com/z/358688.html

回到顶部