写点什么

基于 Kotlin 协程实现异步编程

  • 2019-08-24
  • 本文字数:1295 字

    阅读完需:约 4 分钟

基于Kotlin协程实现异步编程

QCon北京2018大会上,Roman Elizarov 讲师做了《基于 Kotlin 协程实现异步编程》主题演讲,主要内容如下。


演讲简介


开发者越来越关注异步编程。现代软件系统都互相连接,保持通信。很多编程语言都加入了某种形式的异步支持,如 async/await。不过 Kotlin 用协程(coroutine)新颖地解决了这个问题。


我们一起看看基于 futures/promises 的传统 async/await 方式存在的问题,解释 Kotlin 基于 coroutine 和 continuation 概念提供的解决方案,从而了解为什么说 Kotlin 的编程模型更安全、更容易。


Asynchronous programming is on the rise. Modern software systems are connected and constantly communicating. Programming languages are adding some form of asynchronous programming like async/await. However, Kotlin had taken a fresh approach to this problem with Kotlin Coroutines.


In this talk, we’ll study various approaches to asynchronous programming, their evolution, differences and similarities. We’ll see the problem with the traditional async/await approach that is based on futures/promises and how the Kotlin’s solution that is based on concepts of coroutines and continuations is giving us safer and easier programming model.


讲师介绍


Roman Elizarov


JetBrains 工程师,Kotlin 开发团队成员


Roman Elizarov 有超过 16 年的职业软件开发经验。曾就职于 Devexperts,负责为领先的经纪公司设计和开发高性能交易软件。


他也是 Java 和 JVM 专家,擅长并发、实时数据处理、算法和现代架构的性能优化。Roman 目前在 JetBrains 参与 Kotlin 语言的开发。


Roman 于 2000 年毕业于圣彼得堡信息技术、机械与光学大学(ITMO)。现在也在该校开设了一门并发和分布式系统编程的课程。他在大学期间开始参与 ACM 国际大学生程序设计竞赛(ICPC)。从 1997 年到现在,他一直是 ICPC 欧洲东部和北部地区预赛的主裁判之一。


Roman Elizarov is a professional software developer with more than 16 years of experience. He had started his career at Devexperts, where he designed and developed high-performance trading software for leading brokerage firms and market data delivery services that routinely handle millions of events per second. He is an expert in Java and JVM, particularly in concurrency, real-time data processing, algorithms and performance optimizations for modern architectures. Roman currently works on Kotlin language at JetBrains. In 2000 Roman had graduated from St. Petersburg ITMO. He now teaches a course on concurrent and distributed programming in ITMO. During his undergraduate study he participated at ACM International Collegiate Programming Contest (ICPC). Since 1997 and until now Roman serves as a Chief Judge of Northeastern European Regional Programming Contest (NEERC) of ICPC.












完整演讲 PPT 下载链接


https://qcon.infoq.cn/2018/beijing/schedule


2019-08-24 17:135087

评论 1 条评论

发布
用户头像
无有效内容
2022-03-07 09:03
回复
没有更多了
发现更多内容

智能理解 PPT 内容,快速生成讲解视频

阿里巴巴云原生

阿里云 云原生

阿里巴巴热卖商品推荐 API 接口的开发、应用与收益

科普小能手

数据挖掘 阿里巴巴 数据分析 电商 API 接口

轻帆云ITSM大模型底座支持接入DeepSeek-R1,AI能力再升级

云智慧AIOps社区

ITSM ITSM软件 工单管理 工单系统 智能工单

海外泼天流量丨浅谈全球化技术架构

阿里巴巴云原生

阿里云 云原生

任务调度企业级场景下的新选择,兼容 XXL-JOB 通信协议

阿里巴巴云原生

阿里云 云原生

亚马逊API接口实战指南:商品评论与商品详情如何帮你提升运营效率?

代码忍者

亚马逊商品详情API

乐刻运动:基于 RocketMQ + MQTT 实现健身产业数字化升级

阿里巴巴云原生

阿里云 云原生 消息队列

为什么我喜欢在 CSS 中使用 RegEx

伤感汤姆布利柏

内存占用与监控方式介绍

地平线开发者

自动驾驶 算法 算法工具链

使用Ollama和Botnow本地部署DeepSeek R1模型的对比分析

Botnow

大语言模型 AI 智能体 ollama Botnow DeepSeek

唯品会API接口实战指南:商品详情与关键词搜索功能深度解析

代码忍者

唯品会商品API接口

[大厂实践] Odin:Uber 有状态平台实践

俞凡

大厂实践

无人机任务管理:用数字孪生打造稳定高效的MMC

DevOps和数字孪生

【YashanDB知识库】Kettle迁移PostgreSQL到YashanDB

YashanDB

数据库 yashandb

【YashanDB知识库】沙箱备库

YashanDB

数据库 yashandb

“爆款”批量生成,如何实现一键创作 AI 有声绘本?

阿里巴巴云原生

阿里云 云原生

一篇文章,让你秒懂 DeepSeek 推理模型差异!

秃头小帅oi

【YashanDB知识库】MySQL返回结果集的存储过程的改写方法

YashanDB

数据库 yashandb

机房迁移,不同 Pod 副本请求耗时会相差数倍?

阿里巴巴云原生

阿里云 云原生

DeepSeek-R1 来了,如何从 OpenAI 平滑迁移到 DeepSeek

阿里巴巴云原生

阿里云 云原生

[大厂实践] The Accounter:扩展 Uber 有状态平台操作吞吐量

俞凡

架构 大厂实践

基于Kotlin协程实现异步编程_QCon_Roman Elizarov_InfoQ精选文章