AIGC在金融场景是如何落地的? 了解详情
写点什么

超越标准:Mono 中的 Continuation

  • 2011-03-30
  • 本文字数:729 字

    阅读完需:约 2 分钟

虽然 Mono 在大多数情况下都紧跟 C#和 Common Language Infrastructure 规范,但有时候它也会超越他们。虽然诸如 SIMD 支持等特性是向后兼容于.NET 的,但运行时支持的 continuations 却是 Mono 所独有的。

continuation 类似于冻结的线程,如果你愿意还可以称其为快照。它包含了栈帧和局部变量,但与真正的线程不同的是它无法执行。C#的 yield 操作符就是 continuation 的一种简化形式,但 yield 只不过是编译器所玩的一个小把戏,它会创建一个状态机而并非通用的 continuation。因此大多数情况下你需要运行时的支持才行。

Tomi Valkeinen 对运行时支持的研究成果就是 Mono.Tasklet API 。它考虑到了通用的 continuations,可以捕获到栈,同时又可以在必要的情况下恢复。值得注意的是,这种形式的 continuation 可以捕获到引用,但却无法捕获到这些引用所指向的堆中的对象。Tomi Valkeinen 在 Mono.Tasklet API 的基础上构建了 microthreading 库。它包含了轻量级的线程,可以通过 continuations 和多任务共享单独的一个物理线程。

方才我们说“大多数情况下”,这是因为还有另一种构建通用 continuation 的方式。来自 LindenLabs 的 Jim Purbrick 构建了一个 continuation 系统,使用CIL 进行了重写而非运行时支持。相对于Valkeinen 的continuation 来说,这是一种重量级的构建continuation 的方式。但它不仅可以序列化栈,还可以序列化堆中的对象。这样就可以在另一台服务器上恢复continuation 了,这对于Second Life 的可伸缩架构是至关重要的。从长远来看,LindenLabs 想要将这两种技术整合起来:使用Mono Tasklets 实现快速的continuations,使用自己的技术实现需要序列化的continuations。

查看英文原文: Going Beyond the Standard: Continuations in Mono

2011-03-30 11:101117
用户头像

发布了 88 篇内容, 共 255.1 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

5人5月用容器技术保卫蓝天

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

财务共享中心释放企业“数据”生产力

用友BIP

财务共享

对话 ONES 联合创始人兼 CTO 冯斌:技术管理者如何打造一支自驱型团队?

万事ONES

景区共享电动车合作带动景区新消费

共享电单车厂家

共享电动车投放 景区共享电动车 共享电单车厂家 校内共享电动车

又一开发者公布高分方案源代码,助力软件杯选手高效解题

飞桨PaddlePaddle

百度飞桨 中国软件杯

【参考设计】16芯串联电池包储能系统

元器件秋姐

芯片 电池 元器件 电源 驱动器

构建高可用云原生应用,如何有效进行流量管理?

华为云开发者联盟

云原生 后端 华为云 华为云开发者联盟 企业号 5 月 PK 榜

人体识别图像技术在智能安防中的应用

来自四九城儿

阿里巴巴内部亿级高并发系统架构设计(全彩版小册开源)

架构师之道

Java 高并发

一名开发者眼中的 TiDB 与 MySQL 的选择丨TiDB Community

PingCAP

MySQL 数据库 TiDB

MobPush 合规指南

MobTech袤博科技

索信达两大营销创新产品获官方认可,都有哪些创新亮点?

索信达控股

打造高性能 IaaS 计算架构,百度智能云 DPU 落地实践

Baidu AICLOUD

DPU

教你1分钟搞定2小时字幕

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 5 月 PK 榜

设计模式详解之工厂模式

阿里技术

设计模式 工厂模式

为什么说财务共享是财务数智化转型的基石?

用友BIP

财务共享

CST 电磁仿真计算时,为什么要关闭超线程?【操作教程】

思茂信息

cst cst使用教程 cst电磁仿真 cst仿真软件

Chrome分组插件

soap said

Chrome插件

[杂谈]百度飞浆环境配置

alexgaoyh

ubuntu gpu cuda cudnn PaddlePaddl

什么是产品路线图?如何做产品路线图规划

顿顿顿

Scrum 敏捷开发 敏捷项目管理 产品路线图

单机 T 级流量转发吞吐提升 5 倍,可编程负载均衡网关 1.0 上线

Baidu AICLOUD

负载均衡 可编程网关

人体识别图像技术的原理及分类

来自四九城儿

  • 扫码添加小助手
    领取最新资料包
超越标准:Mono中的Continuation_.NET_Jonathan Allen_InfoQ精选文章