HOWTO · Csharp

在 C# 中停止執行緒

在本文中,我將解釋如何在 C# 中啟動和停止執行緒。

本頁內容

有時,在 C# 中使用執行緒時,你可能會遇到需要終止執行緒的情況。C# 確實為你提供了成功執行此操作的方法,本文旨在解釋在 C# 中終止執行緒的過程。

為了終止執行緒的目標,我們將使用 Abort() 方法。ThreadAbortException 由 Abort() 方法丟擲給呼叫它的執行緒,作為對該異常的響應,執行緒被終止。

在我們可以停止一個執行緒之前,我們必須先啟動一個。要完成建立執行緒,請按照以下步驟操作。

在 C# 中使用 Abort() 方法停止執行緒

要利用 System.Threading 庫的方法來啟動和結束執行緒,請匯入它。

using System.Threading;

我們需要建立一個 ThreadDemo 類。

class ThreadDemo {}

我們將在這個類中建立一個名為 threadAssign() 的執行緒方法,並帶有一個迴圈,該迴圈迭代並輸出 First Thread 四次。

public void threadAssign() {
  for (int threadCount = 0; threadCount < 6; threadCount++) {
    Console.WriteLine("First Thread");
  }
}

之後,我們將建立一個名為 ThreadExampleMain 的新類,包括 main 函式。

class ThreadExampleMain {
  public static void Main() {}
}

我們需要執行以下操作來啟動和停止 Main() 方法中的執行緒。使用資料型別 ThreadDemo 建立並初始化變數 threadDemo。

ThreadDemo threadDemo = new ThreadDemo();

我們將使用 Thread 類來初始化一個新變數並將其分配給我們之前建立的執行緒。

Thread thread = new Thread(new ThreadStart(threadDemo.threadAssign));

執行緒可以通過呼叫 Start() 函式來啟動。

thread.Start();

最後,我們可以使用 System.Threading 庫的 Abort() 方法終止執行緒。我們還將列印 "Thread is Abort" 以指示執行緒已終止。

Console.WriteLine("Thread is abort");
thread.Abort();

原始碼:

using System;
using System.Threading;

class ThreadDemo {
  void threadAssign() {
    for (int threadCount = 0; threadCount < 6; threadCount++) {
      Console.WriteLine("First Thread");
    }
  }
  class ThreadExampleMain {
    public static void Main() {
      ThreadDemo threadDemo = new ThreadDemo();
      Thread thread = new Thread(new ThreadStart(threadDemo.threadAssign));
      thread.Start();
      Console.WriteLine("Thread is abort");
      thread.Abort();
    }
  }
}

輸出:

First Thread
First Thread
First Thread
First Thread
First Thread
First Thread
Thread is abort