目录
1. Unity是否支持多线程
Unity支持多线程, 但是开的线程不能访问Unity相关对象的内容. 包括Unity中的所有方法.
Unity中, 自己新开的线程要主动销毁(一般写在OnDestory生命周期函数中 thread.Abort()). 否则新线程将和Unity编辑器共同存在, 直到关闭Unity编辑器.
2. Unity多线程的常用用法:
一般将可能造成卡顿的复杂算法或网络相关的代码让副线程执行. 将计算的结果存放在一个公共内存块中(比如Queue), 主线程从这个公共内存块中获取数据(if (queue.Count > 0)).
3. 什么是协程:
协同程序是一种分时分步执行的特殊函数. 本质是迭代器.
主要应用场景有: 异步加载文件, 异步下载文件, 场景异步加载, 批量创建时防卡顿.
4. 协程和多线程的区别:
多线