欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > Unity补充 -- 协程相关

Unity补充 -- 协程相关

2026/5/3 5:01:06 来源:https://blog.csdn.net/YYHYJX/article/details/145240818  浏览:    关键词:Unity补充 -- 协程相关

1.协程。

        协程并不是线程。线程是主线程之外的另一条 代码按照逻辑执行通道。协程则是在代码在按照逻辑执行的同时,是否需要执行额外的语句块。 

2.协程的作用。

     在update执行的时候,是按照帧来进行刷新的,也是按照帧执行代码的。但是又不想每一帧都执行某个方法的时候,可以使用协程。控制某段时间不执行方法。

3.协程的调用停止。

        

        

4.携程的执行顺序。

        

        

5.协程的应用。

        <1> 循环中 等待。

        

        <2>这样分开写逻辑,然后在另一个协程里面 开启另一个协程的方法。可以实现 异步打印 i , j 的值。

        

        

          <3>这种情况 相当于同步调用了。会先打印 i。等待循环完成之后。在循环打印 j。

        

6.协程的问题。

        《1》框架层面。

        对于MVC来说。只有 V 这一层和 MonoBehaviour 有关。M 和 C 则无关。导致没办法使用系统自带的协程。

        《2》不能有返回值。需要定义全局变量接收。并调用全局变量。

        《3》方法当中套方法。回调困难

                

7.问题的解决思路。

        《1》async / await 异步调用。解决循环嵌套回调困难的情况。

                <1> 烧水一个逻辑。沏茶一个逻辑。正常来说,是先执行  GetBoomWater。在执行  GetDemoText 。是同步的调用。花费的时间较长。

                

                <2> 使用 async / await 异步调用。执行 GetBoomWaterAsync 烧水逻辑的同时。我可以执行 GetDemoTextAsync 里面获取茶杯 获取茶叶的逻辑。然后等待着水烧开。然后会继续执行接下来的沏茶。

                这样便以  通过等待是否完成  判断是否该进行下面的操作  。 取代了当完成逻辑之后采用回调函数的方法 执行其他方法。避免了循环嵌套。

                

        《2》自定义调度器。

8.待补充........

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词