c#

c# wait 怎样处理中断异常

小樊
84
2024-11-26 12:25:18
栏目: 编程语言

在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,我们可以在其中处理异常,例如设置一个标志位以通知其他代码线程已被中断。

0
看了该问题的人还看了