用C#自带Task.Factory来处理函数超时处理

有时候某些函数在执行时可能会遇到数据一些问题,导致可能超出预期的时间,这时候可能并不是我们想要的数据,我们可以把这样的数据揪出来。

C#已经封装了一些好用的函数,下面放上一段代码片段。
类库Task.Factory自带的类方法实现

			List<Geometry> geometrydata = null;
            bool timeout = true;
            float btime = Time.realtimeSinceStartup;
            Task.Factory.StartNew(() => 
            { 
                geometrydata = VectorUtils.TessellateScene(sceneInfo.Scene, tessOptions, sceneInfo.NodeOpacity); 
                timeout = false;
            }).Wait(10*1000);

            Debug.Log("SceneNode "+i+"用时:"+ (Time.realtimeSinceStartup-btime));
            if (timeout)
            {
#if UNITY_EDITOR
                Debug.LogError(hinfo.headName + "SVG文件存在错误,无法按时读取.");
#endif
                SvgTest.inst.BadOut("SVG文件存在错误,无法按时读取.:" + svgHead.svgName + " - " + hinfo.headName);
                continue;
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thinbug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值