生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

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

评论 1 条评论

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

Java 输入一个字符串格式日期,获取对应的自然月开始结束时间,对应的自然年开始结束时间(1)

爱好编程进阶

Java 程序员 后端开发

13 高可用的服务

爱好编程进阶

Java 程序员 后端开发

CentOS 7

爱好编程进阶

Java 程序员 后端开发

Day180

爱好编程进阶

Java 程序员 后端开发

IntelliJ IDEA 中集成并使用 Git 图文教程

爱好编程进阶

Java 程序员 后端开发

编码的底层原理

程序员猪小哼

java面试 底层原理 死磕 Java 基础

API 分页探讨:offset 来分页真的有效率吗?

爱好编程进阶

Java 程序员 后端开发

Day163

爱好编程进阶

Java 程序员 后端开发

关于「应变力」这个超能力|ONES 人物

万事ONES

管理

2020年Java面试复盘,收获Offer,金三银四程序员面试精装版pdf,分享给跳槽面试的程序员

爱好编程进阶

Java 程序员 后端开发

influxdb基础(七)

爱好编程进阶

Java 程序员 后端开发

Java 输入一个字符串格式日期,获取对应的自然月开始结束时间,对应的自然年开始结束时间

爱好编程进阶

Java 程序员 后端开发

Java8设计模式最佳实战-设计模式概述(第七天学习记录)

爱好编程进阶

Java 程序员 后端开发

Java中关于内存泄漏分析和解决方案,都在这里了

爱好编程进阶

Java 程序员 后端开发

java培训Stream遍历树形结构案例分享

@零度

stream JAVA开发

架构实战营作业四

热猫

CDH5部署三部曲之一:准备工作

爱好编程进阶

Java 程序员 后端开发

JavaCV人脸识别三部曲之三:识别和预览

爱好编程进阶

Java 程序员 后端开发

我推荐的Flutter项目结构

坚果

4月月更

CGBTN2108-DAY05总结复习

爱好编程进阶

Java 程序员 后端开发

Java EE开发系列教程 - 添加JPA模块

爱好编程进阶

Java 程序员 后端开发

为什么boolean存储需要32bit?

程序员猪小哼

java基础 底层原理

大数据培训Hive架构思想与设计原理

@零度

hive 大数据开发

Day06-Java代码操作阿里云oss,开发前准备,开发参考文档

爱好编程进阶

Java 程序员 后端开发

2hutool源码分析:DateUtil(时间工具类)-常用的时间类型Date,DateTime

爱好编程进阶

Java 程序员 后端开发

从Flutter开始聊聊跨平台移动开发框架

FinClip

docker限制容器的cpu内存使用率

爱好编程进阶

Java 程序员 后端开发

JavaWeb静态网页

爱好编程进阶

Java 程序员 后端开发

谈谈对 Database Plus 认识与畅想

SphereEx

Apache 数据库 SphereEx ShaardingSphere

API 文档构建工具 - Swagger2简单应用

爱好编程进阶

Java 程序员 后端开发

avatar Logo

爱好编程进阶

Java 程序员 后端开发

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