c#判断代码是否执行超时的几种方式总结
作者:以有崖求无崖 时间:2023-03-11 16:33:02
c#判断代码是否执行超时
一、使用委托
delegate void dg();
dg dgCase;
void method()
{
dgCase = () =>
{
Thread.Sleep(10000);
MessageBox.Show("代码执行完毕!");
};
WaitHandle wh = dgCase.BeginInvoke(null, null).AsyncWaitHandle;
if (!wh.WaitOne(3000))
{
MessageBox.Show("执行已过了3秒!");
}
return;
}
二、使用Task
Task t = new Task(() => {
Thread.Sleep(10000);
MessageBox.Show("代码执行完毕!");
});
t.Start();
if(!t.Wait(3000))
{
MessageBox.Show("执行已过了3秒!");
}
return;
三、使用Timer
void method()
{
System.Timers.Timer time = new System.Timers.Timer(3000) { Enabled = true };
time.Elapsed += (x, j) =>
{
MessageBox.Show("执行已过了3秒!");
time.Stop();
};
Thread.Sleep(10000);
MessageBox.Show("代码执行完毕!");
time.Stop();
return;
}
四、使用Thread
void ThreadMethod()
{
Thread t = new Thread(()=>
{
Thread.Sleep(10000);
MessageBox.Show("代码执行完毕!");
});
t.Start();
bool isOver = t.Join(3000);
if(!isOver)
{
MessageBox.Show("执行已过了3秒!");
}
}
来源:https://blog.csdn.net/Learn_change_myself/article/details/105199967
标签:c#,判断代码,执行超时
0
投稿
猜你喜欢
SpringBoot整合Zookeeper详细教程
2022-07-24 11:33:09
Android ListView UI组件使用说明
2022-06-14 16:04:09
C++超详细讲解贪心策略的设计及解决会场安排问题
2022-07-26 12:08:04
详解Java Selenium中的鼠标控制操作
2023-11-23 14:43:17
Java枚举类用法实例
2023-09-25 01:47:34
C#仪器数据文件解析Excel文件的方法浅析(xls、xlsx)
2023-09-18 01:40:57
activemq整合springboot使用方法(个人微信小程序用)
2023-07-08 22:29:55
Android ViewPager实现Banner循环播放
2022-07-16 06:24:03
IDEA代码规范插件P3C+代码注释模板配置方法
2022-10-30 17:32:55
WPF实现魔方小游戏
2022-09-06 01:53:18
Java线程池高频面试题总结
2023-10-22 02:12:34
Java实现的具有GUI的校园导航系统的完整代码
2022-06-28 03:43:56
Android自定义View仿大众点评星星评分控件
2023-07-22 22:37:28
C#引用类型和值类型的介绍与实例
2022-08-11 16:24:34
java高并发写入用户信息到数据库的几种方法
2023-07-09 08:45:49
Java多线程 线程组原理及实例详解
2022-11-26 02:51:40
Java char[]数组转成String类型详细介绍
2021-09-27 22:18:49
SpringBoot中整合MyBatis-Plus-Join使用联表查询的实现
2023-11-28 19:00:26
Java GUI编程实现在线聊天室
2022-04-07 22:50:09
Java如何构造DSL方法重构
2021-10-10 02:04:09