
协程(协同程序): 同一时间只能执行某个协程。开辟多个协程开销不大。协程适合对某任务进行分时处理。
线程: 同一时间可以同时执行多个线程。开辟多条线程开销很大。线程适合多任务同时处理。
1.协程,即协作式程序,其思想是,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协程处于休眠状态。协程实际上是在一个线程中,只不过每个协程对CUP进行分时,协程可以访问和使用unity的所有方法和component
2.线程,多线程是阻塞式的,每个IO都必须开启一个新的线程,但是对于多CPU的系统应该使用thread,尤其是有大量数据运算的时刻,但是IO密集型就不适合;而且thread中不能 *** 作unity的很多方法和component
该executation的coroutine可以在任何时候暂停使用产量发言。产量返回值指定当coroutine复会。 Coroutines良好行为时,模拟多个帧。 Coroutines几乎没有任何的性能开销。 StartCoroutine功能总是立即返回,但是,您可以产生的结果。这将等到couroutine已完成执行。当使用JavaScript ,没有必要使用StartCoroutine ,编译器会帮您进行此动作。写作时C #代码,你必须拨打StartCoroutine
/ /在这个例子中,我们显示了如何调用一个coroutine ,并继续执行
/ /函数并行。
/ / -在0秒,打印“从0.0 ”
/ / -在0秒,打印“在WaitAndPrint油剂0.0 ”
/ / - 2秒钟后,打印“ WaitAndPrint 2.0 ”
打印( “启动” + Time.time )
/ /启动功能WaitAndPrint作为coroutine 。并等待,直到它完成
WaitAndPrint ( 2.0 )
打印( “在WaitAndPrint油剂” + Time.time )
功能WaitAndPrint ( waitTime为: float ) (
/ /停止执行的waitTime秒
产量WaitForSeconds ( waitTime )
打印( “ WaitAndPrint ” + Time.time )
)
功能StartCoroutine ( methodName :字符串,值:对象=无效) : Coroutine
描述
启动一个coroutine名为methodName 。
在大多数情况下要使用上述StartCoroutine变化。然而StartCoroutine方法使用一个字符串名称,您就可以使用StopCoroutine具体方法的名称。缺点是,字符串版本具有更高的运行时开销开始coroutine ,您可以通过唯一的一个参数
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)