当前位置:首页C# > 正文

C# 中关闭当前线程的四种方式

作者:野牛程序员:2023-12-28 19:50:13C#阅读 2520
  1. Thread.Abort() 方法。

  2. Thread.Join() 方法。

  3. 使用共享变量或标志来通知线程退出。

  4. 使用 CancellationToken 来取消线程操作。

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        // 创建一个新线程
        Thread thread = new Thread(ThreadMethod);

        // 启动线程
        thread.Start();

        // 方法1: 使用 Thread.Abort() 方法关闭线程
        // thread.Abort();

        // 方法2: 使用 Thread.Join() 方法等待线程完成
        // thread.Join();

        // 方法3: 使用共享变量或标志通知线程退出
        // isThreadRunning = false;

        // 方法4: 使用 CancellationToken 来取消线程操作
        // cancellationTokenSource.Cancel();

        Console.WriteLine("Main thread completed.");
    }

    static void ThreadMethod()
    {
        try
        {
            Console.WriteLine("Thread started.");

            // 模拟线程工作
            for (int i = 0; i < 5; i++)
            {
                Console.WriteLine($"Working... {i}");
                Thread.Sleep(1000);
            }

            Console.WriteLine("Thread completed.");
        }
        catch (ThreadAbortException)
        {
            Console.WriteLine("Thread aborted.");
        }
    }
}

在上面的代码中,可以根据需要选择使用其中的一种方式来关闭线程。请注意,使用 Thread.Abort() 方法会引发 ThreadAbortException 异常,需要在线程方法中进行处理。在实际应用中,推荐使用更安全的方式来关闭线程,例如使用共享变量、标志、Thread.Join()CancellationToken

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击