首页 > 代码库 > C#在VS2005开发环境中利用异步模式来对一个方法的执行时间进行超时控制
C#在VS2005开发环境中利用异步模式来对一个方法的执行时间进行超时控制
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(); } } }}
C#在VS2005开发环境中利用异步模式来对一个方法的执行时间进行超时控制
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。