【发布时间】:2013-01-28 01:28:47
【问题描述】:
我正在使用 Unity3D 和 Mono 制作多人在线游戏。语言是 C# 脚本。我知道 Unity 不是线程安全的。 Mono 中的 C# 允许您使用 System.Threading 创建新线程。但是 Unity 会禁止新线程修改任何 GameObjects。
在我的代码中,我启动了一个新线程来等待来自我的一些本机 C 代码(以 Plugins 合并到 Unity 中)的回调。这样,当回调被调用时,它将在新线程上,而不是 Unity 有权操作 GameObjects 的主线程。但是,我想要修改游戏对象。我该怎么办?我应该使用主线程来轮询新线程吗?或者有没有更好的解决方案?
【问题讨论】:
标签: c# multithreading unity3d game-engine