C#如何指定异步线程超时时间 并在超时后取消掉当前任务

编程开发
271
c#
CancellationTokenSource
线程超时
异步开发
异步线程超时

使用CancellationTokenSource 对线程指定超时时间 若超时就取消掉当前任务

C#如何指定异步线程超时时间 并在超时后取消掉当前任务

应用场景:某个任务线程需要消耗一定时间 但超过一定时间后要终止抛弃掉 避免堵塞其他作业

CancellationTokenSource TaskCancellationToken = new CancellationTokenSource();
//创建一个任务线程 异步处理
var t = Task.Factory.StartNew(() =>
{
     //你要执行的任务       
     System.Threading.Thread.Sleep(30*1000);     //模拟超时
});
int Timeout=20*1000;//20秒超时时间
//判断是否是超时结束
if (!t.Wait(Timeout, EchoCancellationToken.Token))
{
	 //线程已经超时 取消线程
	TaskCancellationToken.Cancel();
} else {
//运行的时间内作业正常结束
}
C# MailKit+MimeKit+QQ邮箱 实现发送邮件的简单例子
c#通过winAPI函数InternetGetConnectedState获得本地系统的网络连接状态
PDF文件流接口弹出下载提示不是直接预览的解决办法
C#实现控制多个屏幕的一些常见操作简单demo示例
c# 获取本机电脑名称、Ip信息
.NET环境下System.Drawing.Color对应的颜色值RGB对照表
C#实现冒泡排序算法
Microsoft.EntityFrameworkCore 代码配置数据库
 C# 实现连接Orcle数据库 无需安装客户端
C# .NET中 使用GDI+ 添加图形水印
C#使用 CefSharp采集网页源html代码
怎么解决Http请求“服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF“
暂无相关内容...
基于.NET4.0实现的目录文件新增监视并自动化上传至ftp完整流程工具源码
C#结合虫洞软件(Wormhole)实现自动登录到手机版百度网盘的流程源码
C#基于OpenCVSharp实现图片对比相似度百分比源码下载
.NET5+C# WPF实现图片添加倾斜文字平铺水印工具源码
[人脸检测]基于C#OpenCvSharp+haarcascade人脸、人眼模型实现人脸检测源码
免责声明 部分转载分享内容若侵犯您的权益,还请 邮件联系 侵删