C# 方法执行超时处理

2021-05-17 02:30

阅读:481

标签:div   reset   highlight   返回   func   int   需要   set   一个   

封装了一个方法,用于处理一些需要判断是否执行超时了的操作

 internal static T TimeoutCheck(int ms, Func func)
        {
            var wait = new ManualResetEvent(false);
            bool RunOK = false;
            var task = Task.Run(() =>
            {
                var result= func.Invoke();
                RunOK = true;
                wait.Set();
                return result;
            });
            wait.WaitOne(ms);
            if (RunOK)
            {
                return task.Result;
            }
            else
            {
                return default(T);
            }
        }

  

调用:

               //1000毫秒检测 超时认为检测失败 
                        var checkResult = Tools.TimeoutCheck(1000, () =>
                        {
                            //这里时执行的方法 必须要有返回

                        });

  

C# 方法执行超时处理

标签:div   reset   highlight   返回   func   int   需要   set   一个   

原文地址:https://www.cnblogs.com/yesicoo/p/11788236.html


评论


亲,登录后才可以留言!