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

如何中止使用ThreadPool.QueueUserWorkItem创建的线程

要中止使用ThreadPool.QueueUserWorkItem创建的线程,可以使用CancellationTokenSource和CancellationToken。以下是一个示例代码:

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

class Program
{
    static void Main(string[] args)
    {
        CancellationTokenSource cts = new CancellationTokenSource();
        CancellationToken token = cts.Token;

        // 将 CancellationToken 传递给线程
        ThreadPool.QueueUserWorkItem(new WaitCallback(DoWork), token);

        // 在需要时取消线程
        cts.Cancel();
    }

    static void DoWork(object state)
    {
        CancellationToken token = (CancellationToken)state;

        while (!token.IsCancellationRequested)
        {
            // 在此处执行任务

            // 如果任务完成,则退出循环
            break;
        }
    }
}

在上面的示例中,我们创建了一个CancellationTokenSource和CancellationToken,并将其传递给ThreadPool.QueueUserWorkItem创建的线程。在需要时,我们可以调用CancellationTokenSource.Cancel方法来取消线程。在DoWork方法中,我们检查CancellationToken.IsCancellationRequested属性以确定是否已请求取消。如果已请求取消,则退出循环并结束线程。

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

相关·内容

13分49秒

day19_多线程/20-尚硅谷-Java语言高级-创建多线程的方式四:使用线程池

13分49秒

day19_多线程/20-尚硅谷-Java语言高级-创建多线程的方式四:使用线程池

13分49秒

day19_多线程/20-尚硅谷-Java语言高级-创建多线程的方式四:使用线程池

3分59秒

Java创建线程的三种方式

22.2K
14分9秒

day18_IDEA的使用与多线程/19-尚硅谷-Java语言高级-创建多线程的方式二:实现Runnable接口

14分9秒

day18_IDEA的使用与多线程/19-尚硅谷-Java语言高级-创建多线程的方式二:实现Runnable接口

14分9秒

day18_IDEA的使用与多线程/19-尚硅谷-Java语言高级-创建多线程的方式二:实现Runnable接口

20分26秒

1.线程的本质(操作系统与CPU是如何执行线程的?)

16分41秒

day18_IDEA的使用与多线程/13-尚硅谷-Java语言高级-创建多线程方式一:继承Thread类

16分41秒

day18_IDEA的使用与多线程/13-尚硅谷-Java语言高级-创建多线程方式一:继承Thread类

16分41秒

day18_IDEA的使用与多线程/13-尚硅谷-Java语言高级-创建多线程方式一:继承Thread类

11分34秒

6. 尚硅谷_JUC线程高级_创建执行线程的方式三:实现 Callable 接口

领券