2.Unity中多线程执行代码报错原因
2.1 题目
Unity中多线程执行下面哪些代码会报错?
A. Application.persistentDataPath
B. File.Exists(“文件名”)
C. transform.Translate
D. Object.Destroy(对象)
2.2 深入解析
A、C、D
在Unity中,多线程执行UnityEngine命名空间中相关类基本都不能被Unity中多线程使用。
2.3 答题示例
“Unity 的多数 API 只能在主线程调用。只有
File.Exists("…")属于纯 .NET IO,可在子线程使用;访问Application.persistentDataPath、调用transform.Translate或Object.Destroy(...)都必须在主线程,否则会报错。”
2.4 关键词联想
- 主线程限制
- 线程安全 API
- Application.persistentDataPath(Unity API)
- File.Exists(纯 .NET IO,子线程安全)
- transform.Translate(必须主线程)
- Object.Destroy(必须主线程)
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com