Unity3d中的multithreading脚本调用

我试图在Unity3d中实现multithreading脚本执行,但似乎Unity库没有办法提供,我们必须使用Mono提供的System.Threading。 但他们提到Unity Scripting不是线程安全的。

我可以使用System.threading或其他独立于平台的API在Unity3D中安全有效地实现multithreading吗? 另外,我如何确保脚本并行运行?

一个例子或链接将受到高度赞赏。

问候

我需要为iOS应用程序进行线程化,遗憾的是我从未在Unity中找到过这样的方法。 但是你可以编写一个使用线程的插件。 在我的应用程序中,我需要线程来为音乐应用程序计时,所以我编写了一个音频插件库,它使用xcode中的核心音频,你可以在那里完成你想要的所有线程。 但是管理Unity和插件之间的同步是非常痛苦的。

一般来说,您可以自由使用multithreading。 但有一个重要的警告:所有对Unity API的调用都必须从主线程完成。 因此,随意使用线程进行AI,路径查找等等。 最后,您需要将计算结果传回主线程。

Unity提供了线程的替代方案,它有时很有用: 协同程序 。 它们允许您以片段(yield和resume)运行函数,所有这些都是从主线程完成的,因此您可以使用Unity API。 但请注意,它们不适合繁重的计算。