有个需求 windows服务调用第三方dll中方法的时候不知道为什么会卡死 但是也不报错 try chat 获取不到
现在要做一个超时 调用dll方法交给子线程去做 主线程
等待一定时间 超时之后执行另外逻辑
net2.0中没有 Action 3.5才加的新特性 所以自己定义 delegate void Action();
delegate void Action();
static void Main(string[] args)
{
Thread sonth = null;
Action Fun = () =>
{
sonth = Thread.CurrentThread;
Thread.Sleep(1000);
};
IAsyncResult result = Fun.BeginInvoke(null, null);
if (!result.AsyncWaitHandle.WaitOne(5000))
{
sonth.Abort();
Console.WriteLine("超时关闭");
}
else
{
Console.WriteLine("执行完成");
}
}