开发者

c#判断代码是否执行超时的几种方式总结

开发者 https://www.devze.com 2023-01-25 10:28 出处:网络 作者: 以有崖求无崖
目录C#判断代码是否执行超时一、使用委托二、使用Task三、使用Timer四、使用Thread总结c#判断代码是否执行超时
目录
  • 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秒!");
      }
    }

    总结

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

     

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消