首页 > 代码库 > 正确停止线程
正确停止线程
using System;using System.Threading;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { var p = new Program(); p.Do(); p.Stop(); } CancellationTokenSource cts = new CancellationTokenSource(); void Do() { var worker = new Thread(() => { while (true) { if (cts.Token.IsCancellationRequested) //检查是否有取消请求 { //处理收尾工作 Console.WriteLine("this worker was stoped"); break; } Console.WriteLine(DateTime.Now); Thread.Sleep(1000); } }); worker.Start(); } void Stop() { Console.ReadKey(); cts.Cancel(); //发出取消请求 cts.Token.Register(() => { //进程被停止后通知 Console.WriteLine("worker has been stoped!"); }); Console.ReadKey(); } }}
正确停止线程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。