写点什么

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

评论 1 条评论

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

Java异常面试题

爱好编程进阶

Java 程序员 后端开发

DDIA 读书笔记(一):可靠、可扩展、可维护

Geek_4zc1nt

数据库 分布式系统 数据系统 DDIA 设计数据密集型应用

Fluid — 云原生环境下的高效“数据物流系统

爱好编程进阶

Java 程序员 后端开发

Java开发5年从星瑞15K跳槽去腾讯32K+16,啃完这份笔记你也可以

爱好编程进阶

Java 程序员 后端开发

Java如何支持函数式编程?

爱好编程进阶

Java 程序员 后端开发

Java架构师面试题系列之Mybatis面试专题(36题,含详细答案解析

爱好编程进阶

Java 程序员 后端开发

融云实践:实时音频混音在 Web 端的探索与实践

融云 RongCloud

Go 语言入门很简单:net/url 包

宇宙之一粟

url Go 语言 4月月更

Java中级面试题及答案整理

爱好编程进阶

程序员 后端开发

毕业设计-设计电商秒杀系统

孙强

#架构实战营

Docker下多机器免密码SSH登录

爱好编程进阶

Java 程序员 后端开发

Spring Data MongoDB 使用示例

Java mongodb 4月月更

场景化组件开源,融云持续回馈开源生态

融云 RongCloud

融云洞察:打造社交元宇宙,从「读懂 00 后」开始

融云 RongCloud

Elasticsearch聚合学习之三:范围限定

爱好编程进阶

Java 程序员 后端开发

Java中级面试题及答案整理(1)

爱好编程进阶

Java 程序员 后端开发

[Day26]-[BST] 验证BST

方勇(gopher)

LeetCode BFS 数据结构与算法

Docker(1)——CentOS7

爱好编程进阶

Java 程序员 后端开发

Java基础19 IO基础

爱好编程进阶

程序员 后端开发

Java并行程序基础

爱好编程进阶

Java 程序员 后端开发

CentOS 8 更新提示 appstream 错误

HoneyMoose

redis优化系列五Sentinel 实现原理常见问题

乌龟哥哥

4月月更

Ceph实战(二)-高可用集群部署

爱好编程进阶

程序员 后端开发

Java实现栈和队列

爱好编程进阶

Java 程序员 后端开发

JAVA 序列化、反序列化以及serialVersionUID

爱好编程进阶

Java 程序员 后端开发

Java基础面试题——集合

爱好编程进阶

Java 程序员 后端开发

Java学习笔记-集合

爱好编程进阶

Java 程序员 后端开发

BAT大厂Java面试必备10道Spring问题,有你不知道的吗?

爱好编程进阶

Java 程序员 后端开发

IDEA中Maven依赖下载失败解决方案

爱好编程进阶

Java 程序员 后端开发

Github神作!2021Java秋招高级面试指南,吃透至少阿里P6

爱好编程进阶

程序员 后端开发

考试试卷存储方案

小虾米

架构实战营

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