C#:如何在非主线程的线程中使用LoadImage()函数

C#:如何在非主线程的线程中使用LoadImage()函数,c#,multithreading,unity3d,C#,Multithreading,Unity3d,我想在unity中显示一个图像(使用C#脚本),我需要创建一个线程来实现它。然而,程序说LoadImage()只能从主线程调用。在这种情况下,如何显示图像?(我必须使用多线程)如前所述,LoadImage在主线程中运行,并且在另一个线程上运行它并非不可能。解决问题的一种方法是使用unity支持的。 例如,文档中有一些信息,unity给出了一个示例。 这里还有一个与你的问题相关的好问题。你不能。大多数Unity API只能在主线程中使用。不幸的是,基本上所有常见的Texture2D都只能同步使用。

我想在unity中显示一个图像(使用C#脚本),我需要创建一个线程来实现它。然而,程序说LoadImage()只能从主线程调用。在这种情况下,如何显示图像?(我必须使用多线程)

如前所述,
LoadImage
在主线程中运行,并且在另一个线程上运行它并非不可能。
解决问题的一种方法是使用unity支持的。

例如,文档中有一些信息,unity给出了一个示例。


这里还有一个与你的问题相关的好问题。

你不能。大多数Unity API只能在主线程中使用。不幸的是,基本上所有常见的Texture2D都只能同步使用。除非你可以尝试,但是设置起来有点棘手为什么你必须使用“多线程”?你可以从主线程开始一个新线程,传递一个对字节数组的引用。在次线程中,您执行数据的反序列化。完成后,终止线程,main将引用可以传递给LoadImage的数据。@Everts这是真的。。但是仍然
LoadImage
本身正在主线程中运行;)而且它非常昂贵,而且你可以在主线程中运行特定的操作。看一看