C# 方法执行超时处理
2024-08-28 23:17:30
封装了一个方法,用于处理一些需要判断是否执行超时了的操作
internal static T TimeoutCheck<T>(int ms, Func<T> func)
{
var wait = new ManualResetEvent(false);
bool RunOK = false;
var task = Task.Run<T>(() =>
{
var result= func.Invoke();
RunOK = true;
wait.Set();
return result;
});
wait.WaitOne(ms);
if (RunOK)
{
return task.Result;
}
else
{
return default(T);
}
}
调用:
//1000毫秒检测 超时认为检测失败
var checkResult = Tools.TimeoutCheck(1000, () =>
{
//这里时执行的方法 必须要有返回 });
最新文章
- (2)WebAPI的增删改查
- Gravatar注册
- Excel 点滴积累
- (转) 浅析HTML5在移动应用开发中的使用
- Eclipse配置信息
- 用JSON数据向已定义列的表格添加数据行
- Js获取Cookie值的方法
- spring-- 事务--9
- 《工作型PPT设计之道》培训心得
- 《APUE》读书笔记第十一章-线程
- 关于JS面向对象中原型和原型链以及他们之间的关系及this的详解
- 集合set
- 20165325 2017-2018-2 《Java程序设计》第七周学习总结
- Python基础之带你快速掌握列表的常用方法
- ABAP 中JSON格式的转换与解析
- WPF Dispatcher介绍
- pytorch统计模型参数量
- C# 在网页中将Base64编码的字符串显示成图片
- 两周以来的学习成果&;遇到的问题及解决:
- Python入门系列教程(三)列表和元组