【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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

评论 1 条评论

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

比曲婉婷云尽孝更可怕的是:2020年,低收入家庭仍然在被收割

成周

心理学 教育 培训 维权 曲婉婷

牛皮!应届生面试阿里Java岗,七轮过后定级P6,薪资44.8W

面试 计算机基础 编程开发 架构师技能

甲方日常 24

句子

工作 随笔杂谈 日常

奈学:Java 和 JavaScript 是什么关系?

古月木易

Java

中国Prime会员独享巅峰64小时超长跨境网购时间

爱极客侠

第 0 次面试

escray

程序员 面试 面经

查看mac电脑的温度信息, 并且给mac电脑降温

lmymirror

macos Mac terminal

Spring 5 中文解析数据存储篇-JDBC数据存储(下)

青年IT男

Spring5

数据挖掘技术在轨迹数据上的应用实践

滴滴技术

人工智能 数据挖掘 滴滴技术 轨道技术 创新公交

初学源码之——Spring IOC 应用

Java架构师迁哥

一个草根的日常杂碎(9月28日)

刘新吾

随笔杂谈 生活记录 社会百态

一个草根的日常杂碎(9月27日)

刘新吾

随笔杂谈 生活记录 社会百态

DàYé玩转数据战略Step By Step

曲水流觞TechRill

数据中台 数字化

聊一下《技术力量-一线技术团队成功启示录》

Man

中台 研发管理

JAVA集合之ConcurrentHashMap

彭阿三

Java JAVA集合

架构1期第三周作业一

道长

极客大学架构师训练营

2020年行摄回忆录(上)

穿过生命散发芬芳

生活 摄影

Go编程(一) 怎么写Go代码

dongfanger

编程 开发 Go 语言

点对点音视频应用场景及优势

anyRTC开发者

音视频 WebRTC 直播 RTC 安卓

Java源码系列1——ArrayList

超超不会飞

Java

图解 K8S 源码 - Deployment Controller 篇

郭旭东

Kubernetes Kubernetes源码

国庆假期快来了,打开8天长假的正确方式是...

老胡爱分享

读书 书籍推荐 随笔杂谈

奈学:Java 和 JavaScript 是什么关系?

奈学教育

Java

架构1期第三周作业二

道长

极客大学架构师训练营

java安全编码指南之:异常处理

程序那些事

java安全编码 java安全 java安全编码指南

linux 文件权限控制

kcnf

linux 文件权限控制 acl

Go编程(二) 多线程简单斗地主

dongfanger

编程 开发 Go 语言

浅谈滴滴需求响应式公交背后的技术

滴滴技术

滴滴技术 创新公交 路径优化

一篇文章搞定 Nginx 反向代理与负载均衡

哈喽沃德先生

nginx 负载均衡 反向代理 服务器 正向代理与反向代理

融云技术分享:基于WebRTC的实时音视频首帧显示时间优化实践

JackJiang

音视频 即时通讯 实时通信

不一样的面向对象(三)

书旅

php 面向对象 面向对象编程

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