温馨提示×

c# wait 怎样处理中断异常

c#
小樊
88
2024-11-26 12:25:18
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中,当你使用Thread.Wait()方法时,可能会遇到中断异常。为了处理这种异常,你可以使用try-catch语句来捕获InterruptedException。下面是一个示例:

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        Thread thread = new Thread(DoWork);
        thread.Start();

        // 等待一段时间,然后中断线程
        Thread.Sleep(2000);
        thread.Interrupt();

        // 等待线程完成
        thread.Join();
    }

    static void DoWork()
    {
        try
        {
            Console.WriteLine("Thread started.");
            Thread.Sleep(5000); // 模拟耗时操作
            Console.WriteLine("Thread finished.");
        }
        catch (InterruptedException ex)
        {
            Console.WriteLine("Thread was interrupted: " + ex.Message);
            // 在此处处理中断异常,例如设置标志位以通知其他代码线程已被中断
        }
    }
}

在这个示例中,我们创建了一个新线程并启动它。然后,我们让主线程等待2秒钟,之后中断新线程。DoWork方法中的try-catch语句捕获InterruptedException,我们可以在其中处理异常,例如设置一个标志位以通知其他代码线程已被中断。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:c# wait 怎样处理线程中断

0