孙广东 2015.4.9 24:00
先来看看使用协程的作用一共有两点:
1)延时(等待)一段时间执行代码;
2)等某个操作完成之后再执行后面的代码。总结起来就是一句话:控制代码在特定的时机执行。
协程不是线程,也不是异步执行的。协程和 MonoBehaviour 的 Update函数一样也是在MainThread中执行的。使用协程你不用考虑同步和锁的问题。
对于使用协程带来GC问题,不推荐使用了!。
使用我之前封装的 游戏简单控制逻辑Clock类 可以完美解决
IEnumerator myAwesomeCoroutine()
{
while (true)
{
doAwesomeStuff();
yield return new WaitForSeconds(waitTime);
}
}
我想要指出的是使用 "yield return new WaitForSeconds()" 将会每帧导致垃圾分配GC,21个字节