Skip to Content
Kotlin 编程实践
book

Kotlin 编程实践

by Ken Kousen
July 2020
Intermediate to advanced
235 pages
3h 37m
Chinese
China Machine Press
Content preview from Kotlin 编程实践
201
13
协程与结构化并发
Kotlin 最受欢迎的特性之一就是对
协程
的支持,这使开发者可以像编写同步代码一样编
写并发代码。这种支持使编写使用协程的并发代码比使用其他技术(如回调方法或响应
式流)要容易得多。
请注意,上面那句话中的关键字是“容易”,而不是“简单”。管理并发代码始终是一个
挑战,尤其是在当你尝试协调多个单独的任务,或处理(任务的)取消以及异常等问题
的时候。
本章讨论与 Kotlin 协程相关的话题。这些话题包括使用协程作用域以及协程上下文,选
择合适的协程构建器与调度器并协调其行为。
协程背后的想法是它们可以被挂起(suspend)并恢复。通过使用 suspend 关键字标记
一个函数,就是在告诉系统它可以暂时挂起该函数,并稍后在另一个线程上恢复,而不
必自己编写复杂的多线程代码。
13.1
选择协程构建器
问题
如何选择正确的函数来创建协程。
解决方案
在可用的构建器函数之间考虑并选择。
202
13
讨论
要创建新的协程,请使用下列可用的构建器函数之一:runBlockinglaunch async
第一个 runBlocking 是一个顶层函数,而 launch async CoroutineScope 类型
上的扩展函数。
在查看它们的用法之前,请注意,GlobalScope ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

GraphQL 学习指南

GraphQL 学习指南

Eve Porcello, Alex Banks
Java 技术手册(原书第7版)

Java 技术手册(原书第7版)

Benjamin J. Evans, David Flanagan
Python机器学习基础教程

Python机器学习基础教程

Andreas C. Müller, Sarah Guido

Publisher Resources

ISBN: 9787111659624