1.什么是协程?
从字面意思来理解,可以是:协助主程序的
程序;比较官方一点的解释是:在主程序执行时,开辟一段逻辑处理
2.在Unity中协程的用法
使用协程分两步:通过StartCorutine调用协程的逻辑方法
完善协程的逻辑方法,返回值是IEnumrator,通过关键字yield来实现
StarCorotine Demo:
void Awake()
{
StartCoroutine(SayHello());
}
private IEnumerator SayHello()
{
for (int i = 0; i < 10; i++)
{
Debug.Log("逻辑处理片段....begin");
Debug.Log("current unit :..............." + i);
yield return 2.0f;
Debug.Log("逻辑处理片段....end");
}
}
3.协程的实现原理:
协程其实是单线程下的异步处理,只是让程序看起来是异步的;通常的应用场景有,进入场景的加载页面,事件的延时操作等.
协程的实现基于C#中的迭代器,具体关于C#迭代器的介绍可以访问:
StartCorotine其实是启动一个事件,这个事件可以是Mono默认的事件,也可以是我们自己定义的;
而yield return 其实是返回这个事件的执行节点(通俗