Unity零基础到入门 ☀️| 协程概念(IEnumerator)

举报
呆呆敲代码的小Y 发表于 2021/10/29 18:53:02 2021/10/29
【摘要】 ❤️协程概念(IEnumerator)先来看一下 线程 和 协程 的简单概念一个应用程序一般对应一个进程,一个进程一般有一个主线程,还有若干个辅助线程,线程之间是平行运行的,在线程里面可以开启协程,让程序在特定的时间内运行。线程:线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线...

❤️协程概念(IEnumerator)

先来看一下 线程 协程 的简单概念

一个应用程序一般对应一个进程,一个进程一般有一个主线程,还有若干个辅助线程线程之间是平行运行的,在线程里面可以开启协程,让程序在特定的时间内运行。

线程:线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。

协程基本概念:伴随着 主线程 ⼀起运⾏的⼀段程序。

注意点 协程 协程 之间是并⾏执⾏,与主线程也是并⾏执⾏,同一时间只能执行一个 协程

提起 协程 ,自然是要想到 线程 ,因为协程的定义就是伴随主线程来运行的!

大家应该都知道一个程序运行的时候,是可以 多线程 运行的,就是相当于我们的"一心二用"

那既然Unity也有多线程运行,为什么还要用 协程 呢?

因为有一个很重要的点:在Unity中,只能在主线程中去获取物体的组件、方法和游戏对象!

这一点在Unity中至关重要,如果多开辟了一个 线程 ,并不能对Unity中的这些属性进行访问和修改,那这个 线程 也就没什么意义了!

那这个时候 协程 就站了出来,多线程不能用了,那就来协程我呀! 协程 中是可以正常获取游戏对象信息的!

这里就延伸出来一个问题,为什么要用多线程或者协程?

原因:当我们主线程在执行一个对资源消耗很大的操作时,在这一帧我们的程序就会出现帧率下降,画面卡顿的现象!
那这个时候我们就可以利用协程来做这件事,因为协程是伴随着主线程运行的,主线程依旧可以丝滑轻松的工作,把脏活累活交给协程处理就好了!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。