博客摘录「 unity 协程 多线程 进程 纤程 区别和介绍」2025年5月22日

Unity中的Coroutine原理猜测: 虚拟机分段执行机制, 同类型嵌套用栈存放实现串行执行:.NET虚拟机在每一帧循环中, 会依次进入每个编译器预定义好的入口。对于Coroutine类型,编译器需要产生一些代码,在Coroutine类型指定的时间或事件完成后(.net的虚拟机用函数指针进行标记管理现场和在流程中每帧检查时间或者事件满足后发送消息,将cpu所有权交给yield中断的现场,或是通过包含不同Coroutine迭代器的多个管理类管理各个coroutine, 每帧用coroutine子类通过多态检查时间或事件到达,将cpu所有权交给coroutine子类中断的现场),从yield中断后的代码处继续往下执行, 这样就形成了我们看到的一个function能分段执行的机制。 而对于嵌套Coroutine类型,会串行的执行而不是并行的,可能.net虚拟机对于同coroutine类型用栈存放,栈顶的先执行,从而实现串行执行,如果外层的不使用yield return,那么不会串行执行,而是并行执行。于是就可以解释上面例子中的执行次序问题。

相关推荐
陈洪奇5 小时前
注册中心学习笔记整理
笔记·学习
兴趣使然_9 小时前
【笔记】使用 html 创建网址快捷方式
笔记·html·js
aramae10 小时前
C++ -- STL -- vector
开发语言·c++·笔记·后端·visual studio
fen_fen11 小时前
学习笔记(32):matplotlib绘制简单图表-数据分布图
笔记·学习·matplotlib
饕餮争锋14 小时前
设计模式笔记_创建型_建造者模式
笔记·设计模式·建造者模式
萝卜青今天也要开心15 小时前
2025年上半年软件设计师考后分享
笔记·学习
吃货界的硬件攻城狮15 小时前
【STM32 学习笔记】SPI通信协议
笔记·stm32·学习
蓝染yy15 小时前
Apache
笔记
lxiaoj11116 小时前
Python文件操作笔记
笔记·python
半导体守望者17 小时前
ADVANTEST R4131 SPECTRUM ANALYZER 光谱分析仪
经验分享·笔记·功能测试·自动化·制造