通过Unity实现协作程序
发布时间
阅读量:
阅读量
1、Unity是否支持多线程
Unity具备多线程支持功能,但新创建的线程无法对Unity相关对象进行访问操作。
- 在Unity中使用多线程时,务必记得进行关闭处理,否则即便Unity停止运行游戏,新开的线程中的函数仍将继续执行。 原因在于Unity本质上是一个编辑器环境,新开启的线程与Unity之间存在共生关系。只要Unity未被关闭或脚本未发生变更,新开的线程将不会自动终止。因此,在OnDestroy()方法中可通过调用Abort()函数实现对多线程的强制关闭。
- 新建线程在使用过程中存在一定的限制条件,例如无法直接访问【this.transform
2、协同程序是什么
【协程,通常被称作伪多线程,其核心功能在于:实现代码的分时运行,避免主线程出现阻塞现象(即将可能造成主线程停滞的耗时操作进行分阶段、分时段执行)。与线程类似,不建议在Update函数中引入协程。
典型的应用情境包括:
- 文件的异步读取
- 网络文件的非同步下载
- 场景资源的非同步加载
- 批量生成过程中防止界面卡顿
3、协同程序和线程的区别
启动一个新的线程相当于创建了一个独立的管道,该管道能够与主线程同时运行;
而启动一个新的协程则是在原有线程的基础上进行操作,通过时间片的方式对逻辑进行分步执行。(可以将其视为将一个
全部评论 (0)
还没有任何评论哟~
