同步加载:在主线程中进行加载
异步加载:单独开辟一个加载的线程用来加载资源,不影响主线程的进行
协程
协程是在主线程运行的同时开启另一段逻辑处理,来协同当前程序的执行
协程与多线程的区别
Unity中虽然可以开启线程但是不能直接调用Unity中大部分的Api,协程可以代替线程,但协程不是多线程,只是在模拟多线程。
在多处理器下,从概念上来讲,多线程程序同时运行多个线程,而在任意时刻只有一个协程在运行
协程的开启
StartCoroutine(“协程函数名”,参数);
StartCoroutine(函数(参数));
协程函数的定义
返回值必须是IEnumerator接口类型的;
程序必须有yield return ;
协程中可以有参数;
协程函数运行先运行yield return之前的代码,之后跳转出该程序,直到等待条件满足,再跳转回来执行yield return之后的代码。
private IEnumerator Test()
{
yield return 等待条件;
Print(“等待时间结束”);
}
协程函数中yield return 后跟的是等待条件
yield return null 等待一帧;
y