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 里面获取茶杯 获取茶叶的逻辑。然后等待着水烧开。然后会继续执行接下来的沏茶。
这样便以 通过等待是否完成 判断是否该进行下面的操作 。 取代了当完成逻辑之后采用回调函数的方法 执行其他方法。避免了循环嵌套。