写点什么

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

评论 1 条评论

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

利用Docker极速下载OpenJDK11源码

程序员欣宸

Docker Openjdk 6月月更

架构实战营毕业总结

哈喽

「架构实战营」

HashMap分析-新增

zarmnosaj

6月月更

基于Hadoop豆瓣电影数据分析(代码+原理)

王小王-123

大数据 数据分析 基于Hadoop豆瓣电影

[译]在软件开发行业工作 6 年后,那些年我曾改过的观念

宇宙之一粟

感悟 6月月更

架构实战营模块5作业

挖了蘑菇哩斯

架构实战营

什么是IGMP?IGMP与ICMP有啥区别?

wljslmz

网络协议 6月月更 IGMP 组播

微博系统中”微博评论“的高性能高可用计算架构

Geek_e8bfe4

基于学生选课数据库分析(Hadoop实验)

王小王-123

hadoop 大数据分析 学生选课项目 数据库项目

MySQL,MVCC详解,快照读在RC、RR下的区别

乌龟哥哥

6月月更

“微博评论”的高性能高可用计算架构

Pengfei

声网自研传输层协议 AUT 的落地实践丨Dev for Dev 专栏

RTE开发者社区

Dev for Dev 网络传输

淘宝数据可视化大屏案例(Hadoop实验)

王小王-123

海量数据 大数据分析 淘宝项目 hadoop实验 hive项目

传统微服务框架如何无缝过渡到服务网格 ASM

阿里巴巴云原生

阿里云 微服务 云原生 Service Mesh 服务网格 服务网格

web3 的身份验证之以太坊签名消息

devpoint

区块链 以太坊 Web3.0 6月月更

淘宝大数据分析案例(百万数据集Hadoop项目)

王小王-123

大数据分析 淘宝大数据 淘宝业务数据 淘宝项目可视化

@Scheduled注解的坑,我替你踩了

慕枫技术笔记

后端 6月月更

穿越过后,她说多元宇宙真的存在

白洞计划

我们如何拿到自己满意的薪资呢?这些套路还是需要掌握的

看山

闲聊

leetcode 416. Partition Equal Subset Sum 分割等和子集(中等)

okokabcd

LeetCode 动态规划 数据结构与算法

架构实战营模块 5 作业

Naoki

架构实战营

M1笔记本居家办公的痛点及解决方案 | 社区征文

IT蜗壳-Tango

6月月更 初夏征文

初识Hadoop之概念认知篇

王小王-123

hadoop hadoop概念

在Hadoop环境里面统计西游记文章的词组(hdfs实验)

王小王-123

mapreduce hadoop统计词频 hadoop项目 文本统计分析

整整面试两月,凭借这份15w字Java面试刷题宝典成功入职阿里

Java全栈架构师

Java spring 程序员 面试 算法

Jetpack之Room的使用,结合Flow

yechaoa

android flow JetPack 6月月更 Room

架构实战营模块 5 作业

Roy

架构实战营

小心transmittable-thread-local的这个坑

看山

Java’

远程沟通高效的自我总结| 社区征文

卢卡多多

初夏征文

Serverless 在阿里云函数计算中的实践

阿里巴巴云原生

阿里云 Serverless 云原生 函数计算

Seata 与三大平台携手编程之夏,百万奖金等你来拿

阿里巴巴云原生

阿里云 开源 云原生 seata

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