C#在VS2005开发环境中利用异步模式来对一个方法的执行时间进行超时控制
2024-09-07 01:36:31
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();
}
} }
}
最新文章
- vs2008注册组件
- [ACM_几何] The Deadly Olympic Returns!!! (空间相对运动之最短距离)
- 给img添加类名可以动态切换图片
- dpkg ---- apt-get ------ aptitude 三种方式的区别 及命令格式
- [z]vs中无法加入断点进行调试的解决方案
- LoadRunner AJAX TruClient协议Tips and Tricks
- emacs工程管理,cedet ede插件自动构建Make,Automake
- 利用 Postfix 抵擋垃圾信
- maven安装仓库中不存在的jar包
- LogMiner学习笔记
- 如何进行fragment中的来回切换?
- Qt 向word中插入文字(使用QAxWidget和QAxObject)
- svn过滤文件配置
- CSS定位使用方法
- ASP.NET Core 入门教程 6、ASP.NET Core MVC 视图布局入门
- 解决chrome安装谷歌访问助手错误问题
- wiki 安装
- BZOJ5101[POI2018]Powódź——并查集
- 【jvm】来自于线上的fullGC分析
- Python 爬虫-正则表达式(补)