Unity3D 中的多线程及使用多线程
Posted on 2013 年 04 月 10 日 by U3d / Unity3D 基础教程/被围观 289 次
Unity3D 中的多线程。线程是一个相当复杂的话题,但如果掌握了它,就可以从容
的使用多个硬件处理器或处理很难划分管理数据块。
如在场景中用 A*算法进行大量的数据计算,变形网格中操作大量的顶点,持续的要
运行上传数据到服务器,二维码识别等图像处理,如果同时你要处理很多事情或者与
Unity 的对象互动小可以用 thread,否则使用 coroutine。
线程是在程序中与其他线程同时运行的进行。在多处理器的计算机上可以做到多个线
程的真正的同步,更多的线程取决于有多个处理核心。
Unity3D 编程时,总有个主线程执行你的代码,也可以创建额外的线程和主线程同
时运行。而 Unity 中,你仅能从主线程中访问 Unity3D 的组件,对象和 Unity3D 系统调
用。任何企图访问这些项目的第二个线程都将失败并引发错误,这是一个要重视的一个限
制。
所以当你写代码时,你认为一个函数开始并达到它执行的点后返回,同样你做的东西
又在另外一个函数中执行,但又没有发生相应的变化。操作系统决定你代码的执行,任何
时候,你的代码只能暂时”休眠”掉,然后让另外的代码开始运行。