C#在VS2005开发环境中利用异步模式来对一个方法的执行时间进行超时控制
2017-03-24 22:00
621 查看
using System.Threading; using System; namespace ConsoleApplication4 { public class Program { static void Main(string[] args) { try { String str = "excuting"; myDel del = new myDel(Method); CallWithTimeout(del,1200,str); Console.WriteLine("success"); } catch (Exception) { Console.WriteLine("fail"); } } static void Method(String str) { Console.WriteLine(str); Thread.Sleep(1000); } public delegate void myDel(string str); static void CallWithTimeout(myDel del,int timeoutMilliseconds,String str) { ThreadStart threadStart = new ThreadStart(delegate() { if (null != del) { del(str);//委托调用 } }); Thread thread = new Thread(threadStart); IAsyncResult result = del.BeginInvoke(str, null, null); if (result.AsyncWaitHandle.WaitOne(timeoutMilliseconds)) { del.EndInvoke(result); } else { thread.Abort(); throw new TimeoutException(); } } } }
相关文章推荐
- 第一次安装android sdk后进行开发包的更新,你应该了解到需要的时间会很长,那么是否有办法提升安装的进度呢?办法自然是有的,这里提供一个取巧的方法,不会太麻烦,又能加快android开发环境的部
- 你知道的,javascript语言的执行环境是"单线程模式",这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行,因此很多时候需要进行“异步模式”,请列举js异步编程的方法。
- Linux环境下段错误的产生原因及调试方法小结 最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多、花费时间最长的问题就是
- 我们公司接到了一个比较大的IT软件项目,由于项目时间紧急,我们想采用有非常手段、非常方法,不自己进行全部的开发工作。
- C#如何控制方法的执行时间,超时则强制退出方法执行
- C# 给某个方法设定执行超时时间 C#如何控制方法的执行时间,超时则强制退出方法执行 C#函数运行超时则终止执行(任意参数类型及参数个数通用版)
- C#如何控制方法的执行时间,超时则强制退出方法执行
- C#如何控制方法的执行时间,超时则强制退出方法执行
- Implementing a timeout on a function,实现对一个方法执行时间进行限制
- 执行脚本实现超时时间控制 ---Process
- 使用版本控制的分支合并进行开发,模拟,运营环境的统一部署
- 集群环境下控制定时钟执行的一种方法
- 写一个方法进行各种属性的更新,而不要每个界面设置改变都改变一个属性。就是点击应用或确定按钮时调用这个更新属性的方法,遍历所有(控制对象属性的)界面控件的状态(值),进行属性修改和刷新。
- 1.4 利用MFC进行开发的通用方法介绍
- 开发环境 vs c++ 2010 (但方法适用于VS2005 及 VS 2008)c++ atl 版
- 利用AOP实现对方法执行时间的统计
- 利用MFC进行开发的通用方法介绍
- Q:我欲使用WinDriver开发一个PCI卡的驱动程序来传输图像,但是当我利用WinDriver进行Virtex5 FPGA进行读取和写入动作时,计算机会当机,请问如何解决?
- 利用MFC进行开发的通用方法介绍
- 写给初学者:熟悉一个开发环境的又省钱又简单的方法,以Keil为例