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

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

相关推荐
wb1891 小时前
流编辑器sed
运维·笔记·ubuntu·云计算
嵌入式@秋刀鱼3 小时前
《第四章-筋骨淬炼》 C++修炼生涯笔记(基础篇)数组与函数
开发语言·数据结构·c++·笔记·算法·链表·visual studio code
嵌入式@秋刀鱼3 小时前
《第五章-心法进阶》 C++修炼生涯笔记(基础篇)指针与结构体⭐⭐⭐⭐⭐
c语言·开发语言·数据结构·c++·笔记·算法·visual studio code
m0_678693333 小时前
深度学习笔记26-天气预测(Tensorflow)
笔记·深度学习·tensorflow
桂?4 小时前
使用离线依赖解决Android Studio编译报错(下载不了jar)——笔记
笔记·android studio·jar
EQ-雪梨蛋花汤5 小时前
【Unity笔记】Unity Animation组件使用详解:Play方法重载与动画播放控制
笔记·unity·游戏引擎
scdifsn5 小时前
动手学深度学习13.3. 目标检测和边界框-笔记&练习(PyTorch)
笔记·深度学习·目标检测·目标识别·标注边界框
霸王蟹6 小时前
前端项目Excel数据导出同时出现中英文表头错乱情况解决方案。
笔记·学习·typescript·excel·vue3·react·vite
LuH11246 小时前
【论文阅读笔记】ICLR 2025 | 解析Ref-Gaussian如何实现高质量可交互反射渲染
论文阅读·笔记·论文笔记
AgilityBaby7 小时前
Untiy打包安卓踩坑
android·笔记·学习·unity·游戏引擎