线程暂停挂起和停止的最佳实践

news/2024/10/18 9:17:30/

        //取消信号
        CancellationTokenSource Task_TokenSource;
        //暂停信号
        ManualResetEvent Task_ResetEvent;

        //开启
                Task_ResetEvent = new ManualResetEvent(true);
                Task_TokenSource = new CancellationTokenSource();
                Task.Run(async () => {
                    while (true)
                    {
                        if (Task_TokenSource.Token.IsCancellationRequested)
                        { return; }

                        Task_ResetEvent.WaitOne();

                        //具体的操作
                        

                        await Task.Delay(5000);
                    }

                }, Task_TokenSource.Token);

        //暂停
        Task_ResetEvent.Reset();

        //恢复
        Task_ResetEvent.Set();

        //停止
        Task_TokenSource.Cancel();


http://www.ppmy.cn/news/729.html

相关文章

【Mongoose应用和文件上传】一.Express框架访问MongDB数据库;二.node实现文件上传

目录 一.Express框架访问MongDB数据库 1.目的: (1)mongoose模块的使用 (2)学会代码的封装:dao层、service层、接口层 (3)MVC设计思想:M(Model&#xff0…

【软件安装】Linux中RabbitMQ的安装

① 本篇是基于Linux操作系统中的安装,故先准备一个干净的Linux操作系统。本文中所有的操作基于CentOS8进行安装演示; ② 接下来的演示文本中,红色字体为操作步骤,黑色字体为解释说明; ③ 确保Linux系统中已经安装好必…

Go学习之路:并发(DAY 3)

文章目录前引并发1、Go协程/简单创建2.1、信道/简单创建信道2.2、信道/限制了大小的信道2.3、信道/range close信道3.1、Select语句前引 听了会歌 一看了下今天已经下午2:50了 我们学校也好像开始放学生们回家了 那今天最后就愉快愉快的把我们的 A Tour Of Go 最后…

欧洲肿瘤生物学博士后申请经历

国外博士后的申请者经常会遇到各种问题,从而感叹申请过程的不易。知识人网小编推荐这篇申请经历,或许会给其他申请者带来一定启示。 作者从今年1月开始申请,5月份获得offer。以下是原文: 背景介绍:国内双非一本生物工…

Koa2基础笔记

目录 一、快速入门 二、中间件 链式调用 洋葱圈模型 异步处理 三、路由 koa-router 四、请求参数解析 处理URL参数 处理body参数 五、错误处理 原生的错误处理 使用中间件 一、快速入门 新建文件夹使用VSCode打开,终端运行npm init -y生成package.json…

SSM框架学习记录-Spring_day01

1.核心概念 当前项目中的问题 下面代码的实现十分简单,但是业务层需要调用数据层的方法,就要在业务层new数据层的对象,如果数据层的实现类发生变化,业务层的代码也需要跟着改变,意味着要编译打包和重新部署 // 数据层实…

TF-IDF

2.TF - IDF:作用:提取出来一句话中词的重要性,分成两个部分: tf: 词频(某一类中词条出现的次数 / 该类中所有词条数目) idf: 逆文档频率(作用:去掉逗号,的等)公式:idf l…

Android S(31) APP 页面绘制流程

接上一篇app 启动流程调用OnCreate方法,页面布局绘制进入setContentView 1、加载布局setContentView() 这里getWindow()直接返回mWindow,这个早在onCreate 调用前Activity#attach里面完成初始化。 进入attach方法,构建一个窗体对象PhoneWind…