日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊(cè) | 登錄讀書(shū)好,好讀書(shū),讀好書(shū)!
讀書(shū)網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書(shū)科學(xué)技術(shù)工業(yè)技術(shù)建筑科學(xué)建筑設(shè)計(jì)深入理解Kotlin協(xié)程

深入理解Kotlin協(xié)程

深入理解Kotlin協(xié)程

定 價(jià):¥79.00

作 者: 霍丙乾
出版社: 機(jī)械工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購(gòu)買(mǎi)這本書(shū)可以去


ISBN: 9787111655916 出版時(shí)間: 2020-07-01 包裝:
開(kāi)本: 16開(kāi) 頁(yè)數(shù): 236 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  這是一部從工作機(jī)制、實(shí)現(xiàn)原理、應(yīng)用場(chǎng)景、使用方法、實(shí)踐技巧、標(biāo)準(zhǔn)庫(kù)、框架、應(yīng)用案例等多個(gè)維度全面講解Kotlin協(xié)程的專(zhuān)著,它同時(shí)提供了多語(yǔ)言視角,亦可通過(guò)本書(shū)了解其他語(yǔ)言的協(xié)程。本書(shū)作者是騰訊的的高級(jí)工程師,是國(guó)內(nèi)Kotlin領(lǐng)域的先驅(qū)者和布道者,不僅在工程實(shí)踐領(lǐng)域積累了豐富的經(jīng)驗(yàn),而且在Kotlin開(kāi)發(fā)者社群里有廣泛的影響力和號(hào)召力。 【全書(shū)共9章】:●第1章從協(xié)程的核心應(yīng)用場(chǎng)景——異步程序設(shè)計(jì)的思路和關(guān)鍵問(wèn)題切入,引出Kotlin協(xié)程的概念;●第2章首先介紹了協(xié)程的概念、分類(lèi),然后講解了Python、Lua、Go等不同語(yǔ)言的協(xié)程實(shí)現(xiàn)和對(duì)比;●第3~4章以 Kotlin 標(biāo)準(zhǔn)庫(kù)的協(xié)程 API 為核心,講解了簡(jiǎn)單協(xié)程的使用方法和運(yùn)行機(jī)制,以及通過(guò)簡(jiǎn)單協(xié)程設(shè)計(jì)和實(shí)現(xiàn)復(fù)合協(xié)程的思路和方法;●第5~6章以Kotlin的官方協(xié)程框架為模板,通過(guò)逐步實(shí)現(xiàn)其中的核心功能,分析了其中的實(shí)現(xiàn)細(xì)節(jié)和復(fù)合協(xié)程的運(yùn)行機(jī)制,并對(duì)框架的使用做了深入探討;●第7~8章講解了協(xié)程在Android應(yīng)用開(kāi)發(fā)和Web服務(wù)開(kāi)發(fā)中的應(yīng)用場(chǎng)景、面臨的挑戰(zhàn),以及解決各種常見(jiàn)問(wèn)題的方法和思路;●第9章探討了JavaScript 和 Native等非JVM平臺(tái)對(duì)協(xié)程的支持情況,以及協(xié)程在這些平臺(tái)上的應(yīng)用。

作者簡(jiǎn)介

  霍丙乾(Bennyhuo) 畢業(yè)于北京郵電大學(xué),現(xiàn)任騰訊地圖數(shù)據(jù)采集研發(fā)中心團(tuán)隊(duì)移動(dòng)客戶(hù)端技術(shù)負(fù)責(zé)人。 資深Kotlin技術(shù)專(zhuān)家,國(guó)內(nèi)知名的Kotlin開(kāi)發(fā)者和布道師。 2016年10月創(chuàng)建微信公眾號(hào)Kotlin,持續(xù)發(fā)布Kotlin相關(guān)的文章和教學(xué)視頻,頗受歡迎。 2017年初開(kāi)始參與Kotlin中文相關(guān)網(wǎng)站的翻譯和維護(hù)至今。

圖書(shū)目錄

●前言

●第1章 異步程序設(shè)計(jì)介紹     1

1.1 異步的概念   1

1.1.1 程序的執(zhí)行       1

1.1.2 異步與回調(diào)       2

1.1.3 回調(diào)地獄   3

1.2 異步程序設(shè)計(jì)的關(guān)鍵問(wèn)題   4

1.2.1 結(jié)果傳遞   4

1.2.2 異常處理   6

1.2.3 取消響應(yīng)   8

1.2.4 復(fù)雜分支   9

1.3 常見(jiàn)異步程序設(shè)計(jì)思路      10

1.3.1 Future 11

1.3.2 CompletableFuture    11

1.3.3 Promise與async/await      13

1.3.4 響應(yīng)式編程       15

1.3.5 Kotlin協(xié)程 15

1.4 本章小結(jié)      17

 

●第2章 協(xié)程的基本概念  18

2.1 協(xié)程究竟是什么   18

2.2 協(xié)程的分類(lèi)   20

2.2.1 按調(diào)用棧分類(lèi)   20

2.2.2 按調(diào)度方式分類(lèi)       22

2.3 協(xié)程的實(shí)現(xiàn)舉例   22

2.3.1 Python的Generator  23

2.3.2 Lua標(biāo)準(zhǔn)庫(kù)的協(xié)程實(shí)現(xiàn)    24

2.3.3 Go的go routine 27

2.4 本章小結(jié)      30

 

●第3章 Kotlin協(xié)程的基礎(chǔ)設(shè)施      31

3.1 協(xié)程的構(gòu)造   31

3.1.1 協(xié)程的創(chuàng)建       32

3.1.2 協(xié)程的啟動(dòng)       32

3.1.3 協(xié)程體的Receiver    34

3.1.4 可掛起的main函數(shù)  36

3.2 函數(shù)的掛起   37

3.2.1 掛起函數(shù)   37

3.2.2 掛起點(diǎn)       38

3.2.3 CPS變換   39

3.3 協(xié)程的上下文      41

3.3.1 協(xié)程上下文的集合特征   41

3.3.2 協(xié)程上下文元素的實(shí)現(xiàn)   42

3.3.3 協(xié)程上下文的使用   43

3.4 協(xié)程的攔截器      45

3.4.1 攔截的位置       45

3.4.2 攔截器的使用   46

3.4.3 攔截器的執(zhí)行細(xì)節(jié)   47

3.5 Kotlin協(xié)程所屬的類(lèi)別       48

3.5.1 調(diào)用棧的廣義和狹義       48

3.5.2 調(diào)度關(guān)系的對(duì)立與統(tǒng)一   49

3.6 本章小結(jié)      50

 

●第4章 Kotlin協(xié)程的拓展實(shí)踐      51

4.1 序列生成器   51

4.1.1 仿Python的Generator實(shí)現(xiàn)    52

4.1.2 標(biāo)準(zhǔn)庫(kù)的序列生成器介紹       56

4.2 Promise模型 57

4.2.1 async/await與suspend的設(shè)計(jì)對(duì)比  58

4.2.2 仿JavaScript的async/await實(shí)現(xiàn)    59

4.3 Lua風(fēng)格的協(xié)程API    61

4.3.1 非對(duì)稱(chēng)API實(shí)現(xiàn)       61

4.3.2 對(duì)稱(chēng)API實(shí)現(xiàn)   67

4.4 再談協(xié)程的概念   72

4.4.1 簡(jiǎn)單協(xié)程與復(fù)合協(xié)程       73

4.4.2 復(fù)合協(xié)程的實(shí)現(xiàn)模式       73

4.5 本章小結(jié)      74

 

●第5章 Kotlin協(xié)程框架開(kāi)發(fā)初探  75

5.1 開(kāi)胃菜:實(shí)現(xiàn)一個(gè)delay函數(shù)    75

5.2 協(xié)程的描述   77

5.2.1 協(xié)程的描述類(lèi)   78

5.2.2 協(xié)程的狀態(tài)       79

5.2.3 支持回調(diào)的狀態(tài)       80

5.2.4 協(xié)程的初步實(shí)現(xiàn)       83

5.3 協(xié)程的創(chuàng)建   84

5.3.1 無(wú)返回值的launch    84

5.3.2 實(shí)現(xiàn)invokeOnCompletion       85

5.3.3 實(shí)現(xiàn)join    89

5.3.4 有返回值的async     90

5.4 協(xié)程的調(diào)度   92

5.4.1 協(xié)程的執(zhí)行調(diào)度       92

5.4.2 協(xié)程的調(diào)度位置       93

5.4.3 協(xié)程的調(diào)度器設(shè)計(jì)   93

5.4.4 基于線程池的調(diào)度器       94

5.4.5 基于UI事件循環(huán)的調(diào)度器     96

5.4.6 為協(xié)程添加默認(rèn)調(diào)度器   97

5.5 協(xié)程的取消   98

5.5.1 完善協(xié)程的取消邏輯       98

5.5.2 支持取消的掛起函數(shù)       100

5.5.3 CancellableContinuation的實(shí)現(xiàn)       103

5.5.4 改造掛起函數(shù)   106

5.6 協(xié)程的異常處理   109

5.6.1 定義異常處理器       110

5.6.2 處理協(xié)程的未捕獲異常   111

5.6.3 區(qū)別對(duì)待取消異常   111

5.6.4 異常處理器的運(yùn)用   113

5.7 協(xié)程的作用域      113

5.7.1 作用域的概念   113

5.7.2 作用域的聲明   114

5.7.3 建立父子關(guān)系   116

5.7.4 頂級(jí)作用域       116

5.7.5 協(xié)同作用域       117

5.7.6 suspend fun main的作用域      119

5.7.7 實(shí)現(xiàn)異常的傳播       120

5.7.8 主從作用域       121

5.7.9 完整的異常處理流程       122

5.7.10 父協(xié)程等待子協(xié)程完成  122

5.8 本章小結(jié)      123

 

●第6章 Kotlin協(xié)程的官方框架      124

6.1 協(xié)程框架概述      124

6.1.1 框架的構(gòu)成       124

6.1.2 協(xié)程的啟動(dòng)模式       126

6.1.3 協(xié)程的調(diào)度器   127

6.1.4 協(xié)程的全局異常處理器   129

6.1.5 協(xié)程的取消檢查       130

6.1.6 協(xié)程的超時(shí)取消       132

6.1.7 禁止取消   133

6.2 熱數(shù)據(jù)通道Channel    134

6.2.1 認(rèn)識(shí)Channel     134

6.2.2 Channel的容量  136

6.2.3 迭代Channel     138

6.2.4 produce和actor 138

6.2.5 Channel的關(guān)閉  140

6.2.6 BroadcastChannel      142

6.2.7 Channel版本的序列生成器     144

6.2.8 Channel的內(nèi)部結(jié)構(gòu)  146

6.3 冷數(shù)據(jù)流Flow     148

6.3.1 認(rèn)識(shí)Flow  149

6.3.2 對(duì)比RxJava的線程切換  150

6.3.3 冷數(shù)據(jù)流   151

6.3.4 異常處理   151

6.3.5 末端操作符       153

6.3.6 分離Flow的消費(fèi)和觸發(fā)  153

6.3.7 Flow的取消      154

6.3.8 其他Flow的創(chuàng)建方式     155

6.3.9 Flow的背壓      155

6.3.10 Flow的變換    157

6.4 多路復(fù)用select     158

6.4.1 復(fù)用多個(gè)await  158

6.4.2 復(fù)用多個(gè)Channel     160

6.4.3 SelectClause       161

6.4.4 使用Flow實(shí)現(xiàn)多路復(fù)用  161

6.5 并發(fā)安全      163

6.5.1 不安全的并發(fā)訪問(wèn)   163

6.5.2 協(xié)程的并發(fā)工具       164

6.5.3 避免訪問(wèn)外部可變狀態(tài)   165

6.6 本章小結(jié)      166

 

●第7章 Kotlin協(xié)程在Android上的應(yīng)用       167

7.1 Android上的異步問(wèn)題 167

7.2 協(xié)程對(duì)UI的支持 173      

7.3 常見(jiàn)框架的協(xié)程擴(kuò)展   177

7.4 本章小結(jié)      184

 

●第8章 Kotlin協(xié)程在Web服務(wù)中的應(yīng)用     185

8.1 多任務(wù)并發(fā)模型   185

8.2 協(xié)程在多任務(wù)模型中的運(yùn)用      190

8.3 常見(jiàn)Web應(yīng)用框架的協(xié)程擴(kuò)展  193

8.4 本章小結(jié)      203

 

●第9章 Kotlin協(xié)程在其他平臺(tái)上的應(yīng)用      204

9.1 Kotlin-Js       204

9.2 Kotlin-Native 212

9.3 本章小結(jié)      221


本目錄推薦

掃描二維碼
Copyright ? 讀書(shū)網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)