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秒!");
     }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
 

相关文章

  • C#交错数组用法实例

    C#交错数组用法实例

    这篇文章主要介绍了C#交错数组用法,较为详细的分析了交错数组的概念、用法并实例分析了交错数组的使用技巧,需要的朋友可以参考下
    2015-04-04
  • C#实现的文件压缩和解压缩类

    C#实现的文件压缩和解压缩类

    这篇文章主要介绍了C#实现的文件压缩和解压缩类,实例分析了C#针对文件压缩与解压缩的常用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-03-03
  • 解析c#在未出现异常情况下查看当前调用堆栈的解决方法

    解析c#在未出现异常情况下查看当前调用堆栈的解决方法

    本篇文章是对c#在未出现异常情况下查看当前调用堆栈的解决方法进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • WinForm中实现picturebox自适应图片大小的方法

    WinForm中实现picturebox自适应图片大小的方法

    这篇文章主要介绍了WinForm中实现picturebox自适应图片大小的方法,涉及pictureBox控件相关属性设置技巧,需要的朋友可以参考下
    2017-05-05
  • C#使用 NAudio 实现音频可视化的方法

    C#使用 NAudio 实现音频可视化的方法

    这篇文章主要介绍了[C#] 使用 NAudio 实现音频可视化的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • 浅谈C#单例模式的实现和性能对比

    浅谈C#单例模式的实现和性能对比

    这篇文章主要介绍了浅谈C#单例模式的实现和性能对比的相关资料,详细的介绍了6种实现方式,需要的朋友可以参考下
    2017-09-09
  • C#实现矩阵转置的方法

    C#实现矩阵转置的方法

    这篇文章主要介绍了C#实现矩阵转置的方法,实例分析了C#针对矩阵运算的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • C#基础之泛型委托实例教程

    C#基础之泛型委托实例教程

    这篇文章主要介绍了C#中的泛型委托,并以EventHandler为例对泛型委托的常见用法进行了实例分析,需要的朋友可以参考下
    2014-09-09
  • winform用datagridview制作课程表实例

    winform用datagridview制作课程表实例

    这篇文章主要介绍了winform用datagridview制作课程表的方法,实例分析了WinForm实现课程表的结构、数据库及调用技巧,需要的朋友可以参考下
    2015-01-01
  • C#如何读取Txt大数据并更新到数据库详解

    C#如何读取Txt大数据并更新到数据库详解

    这篇文章主要给大家介绍了关于C#如何读取Txt大数据并更新到数据库的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-08-08

最新评论