2.Unity中多线程执行代码报错原因

  1. 2.Unity中多线程执行代码报错原因
    1. 2.1 题目
    2. 2.2 深入解析
    3. 2.3 答题示例
    4. 2.4 关键词联想

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.TranslateObject.Destroy(...) 都必须在主线程,否则会报错。”


2.4 关键词联想

  • 主线程限制
  • 线程安全 API
  • Application.persistentDataPath(Unity API)
  • File.Exists(纯 .NET IO,子线程安全)
  • transform.Translate(必须主线程)
  • Object.Destroy(必须主线程)


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏