Unity 协程和线程,进程的区别

  其实很简单,首先需要理解进程和线程是怎么一回事:进程是Windows系统中的一个基本概念,他包含着运行一个程序所需要的基本资源。一个正在运行的应用程序在操作系统中被视为一个进程,进程可以包括一个或多个线程。

  进程和线程的区别通过以上,一目了然。

  再谈谈线程和协程的区别。一般应用一个应用程序只使用线程这一“资源”。

需要明确,Unity只使用了一个线程,但是,我们需要”同时做很多事“,那Unity作为单线程,该如何

去做,协程,就来了,协程是一种”伪线程“。

协同程序(coroutine).,即协作式程序,一系列互相依赖的协程间依次使用CPU,每次只有一个协程工作,而其他协成处于休眠状态。协程实际上是在一个线程中,只不过每个协程对CPU进行分时,协程可以访问和使用unity的所有方法和component。

    同一时间只能执行某个协程,协程适合对某个任务进行分时处理。

    控制代码在特定的时间执行。

    协程不是线程,也不是异步执行,跟Update一样,在主线程中执行。

    不用考虑同步和锁的问题。

    协程是一个分部组件,遇到条件(yield return)会挂起,直到条件满足才会被唤起执行后面的语句。

 

posted @ 2017-12-20 15:27  不三周助  阅读(5763)  评论(0编辑  收藏  举报