一 Unity是否支持多线程
//首先要明确一点
//Unity是否支持多线程
//只是新开线程无法访问Unity相关对象的内容
//注意 : Unity中的多线程 要记得关闭
t = new Thread(Test);
t.Start();
//用处:在进行一些寻路算法运算以及网络通信相关内容时,可能会导致主线程卡顿,这个时候使用副线程来处理
二 协同程序是什么
//协同程序简称协程
//它是"假"的多线程 ,它不是多线程
//主要作用
//将代码分时执行,不卡主线程
//简单理解,是吧可能会让主线程卡顿的耗时逻辑分时分步执行
//主要使用的场景:
//异步加载文件
//异步下载文件
//场景异步加载
//批量创建时防止卡顿
三 协同程序和线程的区别
//新开一个线程是独立的一个管道,和主线程并行执行
//新开一个协程是在原线程之上开启,进行逻辑分时分布执行
四 协程的使用
//继承MonoBehavior的类 都可以开启 协程函数
//第一步:申明协程函数
// 协程函数2个关键点
// 1-1 返回值为IEnumerator类型及其子类
// 1-2函数中通过 yield return 返回值;并进行返回
//第二步:开启协程函数
//协程函数不能直接去执行
//MyCoroutine(1, "123");
//常用开启方式
Coroutine c1 = StartCoroutine(MyCoroutine(1, "123"));
Coroutine c2 = StartCoroutine(MyCoroutine(1, "123"));
Coroutine c3 = StartCoroutine(MyCoroutine(1, "123"));
//第三步:关闭协程
//关闭所有协程
StopAllCoroutines();
//关闭指定协