线程(Thread):
协程(Coroutine):
Coroutine在主线程上执行;
Coroutine的生命周期是和它所在的MonoBehaviour绑定在一起的。你如果把MonoBehaviour的对象Destroy或者SetActive(false)的时候,Coroutine就不会执行了。
Unity为我们提供的不同的YieldInsturction.
- null 等待到下一帧
- WaitForEndOfFrame 等待到所有的渲染和计算结束以后。因为相机完成了所有物体和UI的渲染所以可以获取Render Texture的信息。
- WaitForFixedUpdate 等待到所有物理相关的计算结束以后(Physics Step)。
- WaitForSeconds 等待到时间满足条件。如果Time.timeScale是0,则永远不会继续执行。
- WWW 等待到Web请求结束。
- Coroutine 等待到另一个Coroutine执行完毕。
- break 立刻停止Coroutine的执行。