首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#线程 - 中断

在C#中,线程是程序中独立执行的代码片段。线程是操作系统调度的基本单位,它们共享进程资源,如内存和文件句柄。C#中的线程可以通过System.Threading.Thread类进行创建和管理。

C#线程中断通常是通过设置线程的Thread.Interrupt()方法来实现的。当调用此方法时,它会将线程的中断标志设置为true,并在线程的下一个合适的中断点抛出ThreadInterruptedException异常。线程中断可以用于停止线程执行,或者在执行过程中通知线程执行某些操作。

以下是一个简单的C#线程中断示例:

代码语言:csharp
复制
using System;
using System.Threading;

class Program
{
    static void Main()
    {
        Thread workerThread = new Thread(Worker);
        workerThread.Start();

        Thread.Sleep(2000);
        workerThread.Interrupt();
    }

    static void Worker()
    {
        try
        {
            while (true)
            {
                Console.WriteLine("Worker thread is running...");
                Thread.Sleep(1000);
            }
        }
        catch (ThreadInterruptedException)
        {
            Console.WriteLine("Worker thread has been interrupted.");
        }
    }
}

在这个示例中,我们创建了一个名为workerThread的新线程,并在其中运行了一个名为Worker的方法。在主线程中,我们等待2秒钟,然后调用workerThread.Interrupt()来中断workerThread线程。在Worker方法中,我们使用try-catch块来捕获ThreadInterruptedException异常,并在捕获到异常时输出一条消息来表明线程已被中断。

需要注意的是,线程中断并不会立即停止线程,而是等待线程在下一个合适的中断点处理中断请求。因此,在使用线程中断时,需要确保线程在可预见的时间内会到达合适的中断点。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

6分31秒

43_中断机制之通过volatile实现线程中断停止

3分23秒

44_中断机制之通过AtomicBoolean实现线程中断停止

6分33秒

45_中断机制之通过interrupt实现线程中断停止

9分57秒

41_中断机制之中断协商机制简介

4分24秒

42_中断机制之3大中断方法说明

10分21秒

47_中断机制之中断协商案例深度解析-上集

13分42秒

48_中断机制之中断协商案例深度解析-下集

15分11秒

[P01]认识C#程序

43分49秒

剖析Linux内核《缺页中断处理》

7分9秒

C# WPF新版开源控件库:Newbeecoder.UI

47分0秒

Linux内核《ARM中断控制器》

38分57秒

LInux内核《ARM中断控制器》

领券