c#判断代码是否执行超时的几种方式总结
更新时间:2023年01月24日 14:22:33 作者:以有崖求无崖
这篇文章主要介绍了c#判断代码是否执行超时的几种方式总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
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秒!"); } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
VS中C#读取app.config数据库配置字符串的三种方法
这篇文章主要介绍了VS中C#读取app.config数据库配置字符串的三种方法,需要的朋友可以参考下2015-10-10C#使用FolderBrowserDialog类实现选择打开文件夹方法详解
这篇文章主要介绍了C#选择文件夹/打开文件夹/浏览文件夹等代码方法,大家参考使用2013-11-11
最新评论