❤️协程概念(IEnumerator):一下线程和协程

❤️协程概念(IEnumerator):一下线程和协程

❤️协程概念(IEnumerator)

先看看线程和协程的简单概念

一个应用程序通常对应一个进程。 一个进程一般有一个主线程和若干个辅助线程。 线程并行运行。 可以在线程中启用协程,让程序在特定时间内运行。

线程:线程是操作系统可以进行操作调度的最小单位。 它包含在流程中3D交通工具,是流程中的实际操作单元。 线程是指进程中的单个顺序控制流。 多个线程可以在一个进程中并发运行,每个线程并行执行不同的任务。

协程的基本概念:与主线程一起运行的程序。

注意事项:协程之间是并行执行的音乐音效,主线程也是并行执行的。 同一时间只能执行一个协程

说到协程,自然会想到线程unity 协程 实现睡眠,因为协程的定义就是和主线程一起运行!

大家应该都知道unity 协程 实现睡眠,一个程序在运行的时候,是可以在多个线程中运行的,相当于我们的“一心两用”

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

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

这在 Unity 中非常重要。 如果多开一个线程,无法在Unity中访问和修改这些属性,那么这个线程就没有意义了!

然后这个时候协程出来了,多线程用不了,快来协程我吧! 协程中可以正常获取游戏对象信息!

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

原因:当我们的主线程正在执行一个消耗资源比较多的操作时,在这一帧我们的程序会出现帧率下降,画面卡顿!

这时候我们就可以使用协程来做这件事,因为协程是跟着主线程一起跑的,主线程依然可以顺畅轻松的工作,把脏活儿交给协程就行了!