写点什么

基于 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:135071

评论 1 条评论

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

【愚公系列】2022年11月 微信小程序-app.json配置属性之entryPagePath

愚公搬代码

11月月更

深入理解Metrics(一):Gauges

冰心的小屋

Java metrics Guages

算法题学习---链表中的节点每k个一组

桑榆

算法题 11月月更

CSS学习笔记(一)

lxmoe

CSS 前端 学习笔记 11月月更

python如何处理程序异常

芥末拌个饭吧

Python 11月月更

Java For Data Science

Mahipal_Nehra

java; data-science java client Java core Java static

阿里云丁宇:云原生激活应用构建新范式,Serverless奇点已来

阿里巴巴云原生

阿里云 Serverless 容器 RocketMQ 云原生

CSS学习

Studying_swz

CSS 前端 11月月更

3分钟快速掌握Go语言正/反向代理的姿势

有态度的马甲

一步步带你设计MySQL索引数据结构

程序知音

Java MySQL 数据库 后端技术

Verilog语法之测试文件

芯动大师

Verilog 11月月更 测试文件

联通DataOps和MLOps:将机器学习推理作为新的数据源

Baihai IDP

人工智能 大数据 AI DataOps MLOps

应对大规模的资产扫描一些小Tips

穿过生命散发芬芳

11月月更 资产扫描

数据库的体系结构

阿泽🧸

数据库 11月月更

2022-11-07:给你一个 n 个节点的 有向图 ,节点编号为 0 到 n - 1 ,其中每个节点 至多 有一条出边。 图用一个大小为 n 下标从 0 开始的数组 edges 表示, 节点 i 到

福大大架构师每日一题

算法 rust 福大大

一年经验年初被裁面试1月有余无果,还遭前阿里面试官狂问八股,人麻了

程序员小毕

Java spring 程序员 面试 程序人生

vue_Promise学习

Studying_swz

前端 11月月更

袋鼠云陈吉平:深耕国产自研数字化技术与服务,持续为客户创造价值

袋鼠云数栈

Vue自定义指令(一)初识

Augus

vuejs 11月月更

涛思数据杨攀:如何寻求产品、商业与技术的平衡

GGV

产品 技术 开发者 商业 SaaS

六大招式,修炼极狐GitLab CI/CD “快” 字诀

极狐GitLab

DevOps CI/CD 持续交付 runner 极狐GitLab

Spring Boot「25」外部配置元数据

Samson

Java spring 学习笔记 spring-boot 11月月更

前端食堂技术周刊第 58 期:TypeScript 4.9 RC、10 月登陆浏览器的新功能、Turbopack 真的比 Vite 快 10 倍吗?100 天 Modern CSS 挑战

童欧巴

typescript chrome

重磅|九科信息企业级超级自动化平台通过“信息系统安全等级保护三级认证”

九科Ninetech

数据驱动科研,清华大学中国新型城镇化研究院使用 ModelWhale 云端协同创新平台

ModelWhale

人工智能 新基建 云平台 数据科学 学科交叉

第四次工业革命的“知识力”,流淌在百度这条创新流水线上

脑极体

DevOps|乱谈开源社区、开源项目与企业内部开源

laofo

DevOps 研发效能 工程效率

知识经济时代,企业应该如何进行知识管理?

Baklib

知识管理

IDC MarketScape :百度安全位居NESaaS市场领导者位置

百度安全

安全 云安全

HTML5学习

Studying_swz

html 前端 11月月更

设计千万级学生管理系统的考试试卷存储方案

Geek_1264yp

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