目录
- C#判断代码是否执行超时
- 一、使用委托
- 二、使用Task
- 三、使用Timer
- 四、使用Thread
- 总结
c#判断代码是否执行超时
一、使用委托
delegate void dg();
dg dgCase;
void method()
{
dgCase = () =>
{
Thread.Sleep(10000);
MessageBox.Show("代码执行完毕!");
};
WaitHandle wh = dgCase.BeginIn开发者_Python学习voke(null, null).AsyncWaitHandle;
if (!wh.WaitOne(3000))
{
VRTwpM MessageBox.Show(php"执行已过了3秒!");
}
return;
}
二、使用Task
Task t = new Taskhttp://www.devze.com(() => {
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秒!");
javascripttime.Stop();
};
Thread.Sleep(10000);
MessageBox.Show("代码执行完毕!");
time.Stop();
return;
}
四、使用Thread
void ThreadMethod()
{
Thread t = new Thread(()=>
{
Thread.Sleep(10000);
javascriptMessageBox.Show("代码执行完毕!");
});
t.Start();
bool isOver = t.Join(3000);
if(!isOver)
{
MessageBox.Show("执行已过了3秒!");
}
}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。
加载中,请稍侯......
精彩评论