AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

评论 1 条评论

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

VMware Fusion Pro 13密钥 VM虚拟机安装教程

Rose

VMware Fusion Pro 13 VM虚拟机破解版 Mac双系统

Mac大扫除!这些App帮你迅速清理不需要的内容,释放宝贵空间

Rose

Mac清理软件 电脑运行缓慢 Mac系统清了 苹果电脑卡机

pdf增强插件:Enfocus PitStop Pro 2022 中文激活版

真大的脸盆

Mac PDF Mac 软件 PDF编辑

uniapp 生成微信小程序码

源字节1号

微信小程序 开源 软件开发

简单的录屏软件:ScreenFlow v10.0.9汉化版

真大的脸盆

Mac Mac 软件 屏幕录制 录屏软件 屏幕录像

WordPress 插件 g5plus 修改属性

HoneyMoose

Spring事务失效场景

TaurusCode

Spring Boot 事务 java基础 事务失效 事务回滚

5年MacBook用户最常用的Mac软件推荐

Rose

苹果 mac软件下载

极客时间运维进阶训练营第九周作业

忙着长大#

极客时间运维进阶训练营第十三周作业

忙着长大#

极客时间运维进阶训练营第十二周作业

忙着长大#

CnosDB 2.0 Arrow Flight SQL使用指北

CnosDB

开源 时序数据库 CnosDB Arrow Flight SQL

Sketch创建自定义快捷的方法 Sketch中文最新版

Rose

sketch Mac Sketch快捷键 Sketch下载

极客时间运维进阶训练营第十周作业

忙着长大#

前端面试实录CSS篇(最近一周)

Immerse

CSS 面试 前端

prometheus架构介绍及部署使用

忙着长大#

极客时间运维进阶训练营第十一周作业

忙着长大#

Jenkins 修改启动的端口

HoneyMoose

做低代码引擎有多难?OneCode五个版本心路历程

codebee

低代码 低代码开发 低代码平台 低代码报告

Go 语言数组和切片的区别

AlwaysBeta

Go 源码 数组 面试题 切片

IntelliJ IDEA 2023主要更新 支持M1/intel/win

Rose

IntelliJ IDEA 2023下载 IntelliJ IDEA 2023破解 IntelliJ IDEA 2023最新

Navicat Premium mac用于增强数据库管理系统的优势是什么?

Rose

数据库 Navicat Premium下载 Navicat Premium中文版 Navicat Premium破解版 Navicat Premium15

Git Commit Message 应该怎么写?

AlwaysBeta

git

Spring 项目运行提示错误 Not a managed type

HoneyMoose

极客时间运维进阶训练营第七周作业

忙着长大#

极客时间

专业级音频制作软件:Logic Pro X中文激活版

真大的脸盆

Mac 音频制作 Mac 软件 音频处理

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