Unity零基础到入门 ☀️| 协程概念(IEnumerator)
❤️协程概念(IEnumerator)
先来看一下 线程 和 协程 的简单概念
一个应用程序一般对应一个进程,一个进程一般有一个主线程,还有若干个辅助线程,线程之间是平行运行的,在线程里面可以开启协程,让程序在特定的时间内运行。
线程:线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。
协程基本概念:伴随着 主线程 ⼀起运⾏的⼀段程序。
注意点: 协程 与 协程 之间是并⾏执⾏,与主线程也是并⾏执⾏,同一时间只能执行一个 协程
提起 协程 ,自然是要想到 线程 ,因为协程的定义就是伴随主线程来运行的!
大家应该都知道一个程序运行的时候,是可以 多线程 运行的,就是相当于我们的"一心二用"
那既然Unity也有多线程运行,为什么还要用 协程 呢?
因为有一个很重要的点:在Unity中,只能在主线程中去获取物体的组件、方法和游戏对象!
这一点在Unity中至关重要,如果多开辟了一个 线程 ,并不能对Unity中的这些属性进行访问和修改,那这个 线程 也就没什么意义了!
那这个时候 协程 就站了出来,多线程不能用了,那就来协程我呀! 协程 中是可以正常获取游戏对象信息的!
这里就延伸出来一个问题,为什么要用多线程或者协程?
原因:当我们主线程在执行一个对资源消耗很大的操作时,在这一帧我们的程序就会出现帧率下降,画面卡顿的现象!
那这个时候我们就可以利用协程来做这件事,因为协程是伴随着主线程运行的,主线程依旧可以丝滑轻松的工作,把脏活累活交给协程处理就好了!
- 点赞
- 收藏
- 关注作者
评论(0)