10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论 1 条评论

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

架构师训练营第 1 期 week2 总结

张建亮

极客大学架构师训练营

JD-GUI反编译jar包为Java源代码

MySQL从删库到跑路

Java jar 程序员 Spring Boot jar包的小秘密

架构师训练营第 1 期 week2

张建亮

极客大学架构师训练营

分布式系统的核心:共识问题

多颗糖

分布式计算 计算机基础 分布式系统 架构师

Mongodb异常关闭,再次启动报错

MySQL从删库到跑路

mongodb

[Python3]三子棋游戏!祝大家中国71周年国庆节快乐!

MengZian

Python

架构一期第三周作业

Airs

Linux忘记root密码怎么办

MySQL从删库到跑路

Linux 服务器 root密码 root

第三周作业

极客大学架构师训练营

Springboot 邮件任务

hepingfly

springboot 发送邮件

Week 3 Assignment

Yinan

第三周作业

icydolphin

极客大学架构师训练营

week03

……

Golang单例模式手写稿

Jacky.Chen

最完整的PyTorch数据科学家指南(2)

计算机与AI

学习 PyTorch

架构师训练营第二周作业

xs-geek

架构师训练营 Week3 代码重构 - 学习总结 设计模式

spring 设计模式 JUnit

架构师训练营第三周学习总结

成长者

极客大学架构师训练营

架构师训练营第 1 期 week3

张建亮

极客大学架构师训练营

区块链3.0时代:大规模商业应用开发即将实现

CECBC

区块链 数字金融

当区块链遇见共享经济,会碰撞出怎样的火花?

CECBC

区块链

第三周-代码重构-学习总结

刘希文

设计模式第三周作业「架构师训练营第 1 期」

天天向善

单例模式 组合模式

spring-boot-route(二)读取配置文件的几种方式

Java旅途

Java Spring Boot

集中日志系统ELK

Java个体户

ELK

为什么Rust的println!不会发生所有权转移?

袁承兴

rust 元编程

架构师训练营第二周总结

xs-geek

区块链可以为物联网做些什么?

CECBC

区块链 物联网

设计模式第三周总结「架构师训练营第 1 期」

天天向善

vagrant 开发环境配置

孙志平

LeetCode题解:242. 有效的字母异位词,数组计数,JavaScript,详细注释

Lee Chen

大前端 LeetCode

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