[ 收藏 ] [ 简体中文 ]  
臺灣貨到付款、ATM、超商、信用卡PAYPAL付款,4-7個工作日送達,999元臺幣免運費   在線留言 商品價格為新臺幣 
首頁 電影 連續劇 音樂 圖書 女裝 男裝 童裝 內衣 百貨家居 包包 女鞋 男鞋 童鞋 計算機周邊

商品搜索

 类 别:
 关键字:
    

商品分类

  •  管理

     一般管理学
     市场/营销
     会计
     金融/投资
     经管音像
     电子商务
     创业企业与企业家
     生产与运作管理
     商务沟通
     战略管理
     商业史传
     MBA
     管理信息系统
     工具书
     外文原版/影印版
     管理类职称考试
     WTO
     英文原版书-管理
  •  投资理财

     证券/股票
     投资指南
     理财技巧
     女性理财
     期货
     基金
     黄金投资
     外汇
     彩票
     保险
     购房置业
     纳税
     英文原版书-投资理财
  •  经济

     经济学理论
     经济通俗读物
     中国经济
     国际经济
     各部门经济
     经济史
     财政税收
     区域经济
     统计 审计
     贸易政策
     保险
     经济数学
     各流派经济学说
     经济法
     工具书
     通货膨胀
     财税外贸保险类考试
     英文原版书-经济
  •  社会科学

     语言文字
     社会学
     文化人类学/人口学
     新闻传播出版
     社会科学总论
     图书馆学/档案学
     经典名家作品集
     教育
     英文原版书-社会科学
  •  哲学

     哲学知识读物
     中国古代哲学
     世界哲学
     哲学与人生
     周易
     哲学理论
     伦理学
     哲学史
     美学
     中国近现代哲学
     逻辑学
     儒家
     道家
     思维科学
     马克思主义哲学
     经典作品及研究
     科学哲学
     教育哲学
     语言哲学
     比较哲学
  •  宗教

  •  心理学

  •  古籍

     经部  史类  子部  集部  古籍管理  古籍工具书  四库全书  古籍善本影音本  中国藏书
  •  文化

     文化评述  文化随笔  文化理论  传统文化  世界各国文化  文化史  地域文化  神秘文化  文化研究  民俗文化  文化产业  民族文化  书的起源/书店  非物质文化遗产  文化事业  文化交流  比较文化学
  •  历史

     历史普及读物
     中国史
     世界史
     文物考古
     史家名著
     历史地理
     史料典籍
     历史随笔
     逸闻野史
     地方史志
     史学理论
     民族史
     专业史
     英文原版书-历史
     口述史
  •  传记

  •  文学

  •  艺术

     摄影
     绘画
     小人书/连环画
     书法/篆刻
     艺术设计
     影视/媒体艺术
     音乐
     艺术理论
     收藏/鉴赏
     建筑艺术
     工艺美术
     世界各国艺术概况
     民间艺术
     雕塑
     戏剧艺术/舞台艺术
     艺术舞蹈
     艺术类考试
     人体艺术
     英文原版书-艺术
  •  青春文学

  •  文学

     中国现当代随笔
     文集
     中国古诗词
     外国随笔
     文学理论
     纪实文学
     文学评论与鉴赏
     中国现当代诗歌
     外国诗歌
     名家作品
     民间文学
     戏剧
     中国古代随笔
     文学类考试
     英文原版书-文学
  •  法律

     小说
     世界名著
     作品集
     中国古典小说
     四大名著
     中国当代小说
     外国小说
     科幻小说
     侦探/悬疑/推理
     情感
     魔幻小说
     社会
     武侠
     惊悚/恐怖
     历史
     影视小说
     官场小说
     职场小说
     中国近现代小说
     财经
     军事
  •  童书

  •  成功/励志

  •  政治

  •  军事

  •  科普读物

  •  计算机/网络

     程序设计
     移动开发
     人工智能
     办公软件
     数据库
     操作系统/系统开发
     网络与数据通信
     CAD CAM CAE
     计算机理论
     行业软件及应用
     项目管理 IT人文
     计算机考试认证
     图形处理 图形图像多媒体
     信息安全
     硬件
     项目管理IT人文
     网络与数据通信
     软件工程
     家庭与办公室用书
  •  建筑

     执业资格考试用书  室内设计/装潢装修  标准/规范  建筑科学  建筑外观设计  建筑施工与监理  城乡规划/市政工程  园林景观/环境艺术  工程经济与管理  建筑史与建筑文化  建筑教材/教辅  英文原版书-建筑
  •  医学

     中医
     内科学
     其他临床医学
     外科学
     药学
     医技学
     妇产科学
     临床医学理论
     护理学
     基础医学
     预防医学/卫生学
     儿科学
     医学/药学考试
     医院管理
     其他医学读物
     医学工具书
  •  自然科学

     数学
     生物科学
     物理学
     天文学
     地球科学
     力学
     科技史
     化学
     总论
     自然科学类考试
     英文原版书-自然科学
  •  工业技术

     环境科学
     电子通信
     机械/仪表工业
     汽车与交通运输
     电工技术
     轻工业/手工业
     化学工业
     能源与动力工程
     航空/航天
     水利工程
     金属学与金属工艺
     一般工业技术
     原子能技术
     安全科学
     冶金工业
     矿业工程
     工具书/标准
     石油/天然气工业
     原版书
     武器工业
     英文原版书-工业技
  •  农业/林业

     园艺  植物保护  畜牧/狩猎/蚕/蜂  林业  动物医学  农作物  农学(农艺学)  水产/渔业  农业工程  农业基础科学  农林音像
  •  外语

  •  考试

  •  教材

  •  工具书

  •  中小学用书

  •  中小学教科书

  •  动漫/幽默

  •  烹饪/美食

  •  时尚/美妆

  •  旅游/地图

  •  家庭/家居

  •  亲子/家教

  •  两性关系

  •  育儿/早教

  •  保健/养生

  •  体育/运动

  •  手工/DIY

  •  休闲/爱好

  •  英文原版书

  •  港台图书

  •  研究生
     工学
     公共课
     经济管理
     理学
     农学
     文法类
     医学

  •  音乐
     音乐理论

     声乐  通俗音乐  音乐欣赏  钢琴  二胡  小提琴
  • 深入理解Kotlin協程
    該商品所屬分類:計算機/網絡 -> 程序設計
    【市場價】
    392-568
    【優惠價】
    245-355
    【作者】 霍丙乾 
    【所屬類別】 圖書  計算機/網絡  程序設計  其他 
    【出版社】機械工業出版社 
    【ISBN】9787111655916
    【折扣說明】一次購物滿999元台幣免運費+贈品
    一次購物滿2000元台幣95折+免運費+贈品
    一次購物滿3000元台幣92折+免運費+贈品
    一次購物滿4000元台幣88折+免運費+贈品
    【本期贈品】①優質無紡布環保袋,做工棒!②品牌簽字筆 ③品牌手帕紙巾
    版本正版全新電子版PDF檔
    您已选择: 正版全新
    溫馨提示:如果有多種選項,請先選擇再點擊加入購物車。
    *. 電子圖書價格是0.69折,例如了得網價格是100元,電子書pdf的價格則是69元。
    *. 購買電子書不支持貨到付款,購買時選擇atm或者超商、PayPal付款。付款後1-24小時內通過郵件傳輸給您。
    *. 如果收到的電子書不滿意,可以聯絡我們退款。謝謝。
    內容介紹



    開本:16開
    紙張:膠版紙
    包裝:平裝-膠訂

    是否套裝:否
    國際標準書號ISBN:9787111655916
    作者:霍丙乾

    出版社:機械工業出版社
    出版時間:2020年06月 

        
        
    "

    產品特色

    編輯推薦

    (1)騰訊高級工程師、Kotlin布道師、Kotlin中文社區負責人撰寫


    (2)本書從工作機制、實現原理、應用場景、使用方法、實踐技巧、標準庫、框架、應用案例等8個維度對Kotlin協程進行了全面講解,提供多種語言視角和豐富案例


    【推薦閱讀:Kotlin入門讀本:《Kotlin編程實踐》】


     
    內容簡介
    這是一部從工作機制、實現原理、應用場景、使用方法、實踐技巧、標準庫、框架、應用案例等多個維度全面講解Kotlin協程的專著,它同時提供了多語言視角,亦可通過本書了解其他語言的協程。
    本書作者是騰訊的的高級工程師,是國內Kotlin領域的先驅者和布道者,不僅在工程實踐領域積累了豐富的經驗,而且在Kotlin開發者社群裡有廣泛的影響力和號召力。
    【全書共9章】:
    第1章從協程的核心應用場景——異步程序設計的思路和關鍵問題切入,引出Kotlin協程的概念;
    第2章首先介紹了協程的概念、分類,然後講解了Python、Lua、Go等不同語言的協程實現和對比;
    第3~4章以 Kotlin 標準庫的協程 API 為核心,講解了簡單協程的使用方法和運行機制,以及通過簡單協程設計和實現復合協程的思路和方法;
    第5~6章以Kotlin的官方協程框架為模板,通過逐步實現其中的核心功能,分析了其中的實現細節和復合協程的運行機制,並對框架的使用做了深入探討;
    第7~8章講解了協程在Android應用開發和Web服務開發中的應用場景、面臨的挑戰,以及解決各種常見問題的方法和思路;

    這是一部從工作機制、實現原理、應用場景、使用方法、實踐技巧、標準庫、框架、應用案例等多個維度全面講解Kotlin協程的專著,它同時提供了多語言視角,亦可通過本書了解其他語言的協程。


     本書作者是騰訊的的高級工程師,是國內Kotlin領域的先驅者和布道者,不僅在工程實踐領域積累了豐富的經驗,而且在Kotlin開發者社群裡有廣泛的影響力和號召力。


    【全書共9章】:



    • 第1章從協程的核心應用場景——異步程序設計的思路和關鍵問題切入,引出Kotlin協程的概念;

    • 第2章首先介紹了協程的概念、分類,然後講解了Python、Lua、Go等不同語言的協程實現和對比;

    • 第3~4章以 Kotlin 標準庫的協程 API 為核心,講解了簡單協程的使用方法和運行機制,以及通過簡單協程設計和實現復合協程的思路和方法;

    • 第5~6章以Kotlin的官方協程框架為模板,通過逐步實現其中的核心功能,分析了其中的實現細節和復合協程的運行機制,並對框架的使用做了深入探討;

    • 第7~8章講解了協程在Android應用開發和Web服務開發中的應用場景、面臨的挑戰,以及解決各種常見問題的方法和思路;

    • 第9章探討了JavaScript 和 Native等非JVM平臺對協程的支持情況,以及協程在這些平臺上的應用。

    •  

    作者簡介

    霍丙乾(Bennyhuo)


    畢業於北京郵電大學,現任騰訊地圖數據采集研發中心團隊移動客戶端技術負責人。


    資深Kotlin技術專家,國內知名的Kotlin開發者和布道師。


    2016年10月創建微信公眾號Kotlin,持續發布Kotlin相關的文章和教學視頻,頗受歡迎。


    2017年初開始參與Kotlin中文相關網站的翻譯和維護至今。


     

    目錄

    第1章異步程序設計介紹 1
    1.1異步的概念 1
    1.1.1程序的執行 1
    1.1.2異步與回調 2
    1.1.3回調地獄 3
    1.2異步程序設計的關鍵問題 4
    1.2.1結果傳遞 4
    1.2.2異常處理 6
    1.2.3取消響應 8
    1.2.4復雜分支 9
    1.3常見異步程序設計思路 10
    1.3.1Future 11
    1.3.2CompletableFuture 11



    • 第1章異步程序設計介紹 1


    1.1異步的概念   1


    1.1.1程序的執行       1


    1.1.2異步與回調       2


    1.1.3回調地獄   3


    1.2異步程序設計的關鍵問題   4


    1.2.1結果傳遞   4


    1.2.2異常處理   6


    1.2.3取消響應   8


    1.2.4復雜分支   9


    1.3常見異步程序設計思路      10


    1.3.1Future 11


    1.3.2CompletableFuture    11


    1.3.3Promise與async/await      13


    1.3.4響應式編程       15


    1.3.5Kotlin協程 15


    1.4本章小結      17


     



    • 第2章協程的基本概念 18


    2.1協程究竟是什麼   18


    2.2協程的分類   20


    2.2.1按調用棧分類   20


    2.2.2按調度方式分類       22


    2.3協程的實現舉例   22


    2.3.1Python的Generator  23


    2.3.2Lua標準庫的協程實現    24


    2.3.3Go的go routine 27


    2.4本章小結      30


     



    • 第3章Kotlin協程的基礎設施 31


    3.1協程的構造   31


    3.1.1協程的創建       32


    3.1.2協程的啟動       32


    3.1.3協程體的Receiver    34


    3.1.4可掛起的main函數  36


    3.2函數的掛起   37


    3.2.1掛起函數   37


    3.2.2掛起點       38


    3.2.3CPS變換   39


    3.3協程的上下文      41


    3.3.1協程上下文的集合特征   41


    3.3.2協程素的實現   42


    3.3.3協程上下文的使用   43


    3.4協程的攔截器      45


    3.4.1攔截的位置       45


    3.4.2攔截器的使用   46


    3.4.3攔截器的執行細節   47


    3.5Kotlin協程所屬的類別       48


    3.5.1調用棧的廣義和狹義       48


    3.5.2調度關繫的對立與統一   49


    3.6本章小結      50


     



    • 第4章Kotlin協程的拓展實踐 51


    4.1序列生成器   51


    4.1.1仿Python的Generator實現    52


    4.1.2標準庫的序列生成器介紹       56


    4.2Promise模型 57


    4.2.1async/await與suspend的設計對比  58


    4.2.2仿JavaScript的async/await實現    59


    4.3Lua風格的協程API    61


    4.3.1非對稱API實現       61


    4.3.2對稱API實現   67


    4.4再談協程的概念   72


    4.4.1簡單協程與復合協程       73


    4.4.2復合協程的實現模式       73


    4.5本章小結      74


     



    • 第5章Kotlin協程框架開發初探 75


    5.1開胃菜:實現一個delay函數    75


    5.2協程的描述   77


    5.2.1協程的描述類   78


    5.2.2協程的狀態       79


    5.2.3支持回調的狀態       80


    5.2.4協程的初步實現       83


    5.3協程的創建   84


    5.3.1無返回值的launch    84


    5.3.2實現invokeOnCompletion       85


    5.3.3實現join    89


    5.3.4有返回值的async     90


    5.4協程的調度   92


    5.4.1協程的執行調度       92


    5.4.2協程的調度位置       93


    5.4.3協程的調度器設計   93


    5.4.4基於線程池的調度器       94


    5.4.5基於UI事件循環的調度器     96


    5.4.6為協程添加默認調度器   97


    5.5協程的取消   98


    5.5.1完善協程的取消邏輯       98


    5.5.2支持取消的掛起函數       100


    5.5.3CancellableContinuation的實現       103


    5.5.4改造掛起函數   106


    5.6協程的異常處理   109


    5.6.1定義異常處理器       110


    5.6.2處理協程的未捕獲異常   111


    5.6.3區別對待取消異常   111


    5.6.4異常處理器的運用   113


    5.7協程的作用域      113


    5.7.1作用域的概念   113


    5.7.2作用域的聲明   114


    5.7.3建立父子關繫   116


    5.7.4作用域       116


    5.7.5協同作用域       117


    5.7.6suspend fun main的作用域      119


    5.7.7實現異常的傳播       120


    5.7.8主從作用域       121


    5.7.9完整的異常處理流程       122


    5.7.10父協程等待子協程完成  122


    5.8本章小結      123


     



    • 第6章Kotlin協程的官方框架 124


    6.1協程框架概述      124


    6.1.1框架的構成       124


    6.1.2協程的啟動模式       126


    6.1.3協程的調度器   127


    6.1.4協程的全局異常處理器   129


    6.1.5協程的取消檢查       130


    6.1.6協程的超時取消       132


    6.1.7禁止取消   133


    6.2熱數據通道Channel    134


    6.2.1認識Channel     134


    6.2.2Channel的容量  136


    6.2.3迭代Channel     138


    6.2.4produce和actor 138


    6.2.5Channel的關閉  140


    6.2.6BroadcastChannel      142


    6.2.7Channel版本的序列生成器     144


    6.2.8Channel的內部結構  146


    6.3冷數據流Flow     148


    6.3.1認識Flow  149


    6.3.2對比RxJava的線程切換  150


    6.3.3冷數據流   151


    6.3.4異常處理   151


    6.3.5末端操作符       153


    6.3.6分離Flow的消費和觸發  153


    6.3.7Flow的取消      154


    6.3.8其他Flow的創建方式     155


    6.3.9Flow的背壓      155


    6.3.10Flow的變換    157


    6.4多路復用select     158


    6.4.1復用多個await  158


    6.4.2復用多個Channel     160


    6.4.3SelectClause       161


    6.4.4使用Flow實現多路復用  161


    6.5並發安全      163


    6.5.1不安全的並發訪問   163


    6.5.2協程的並發工具       164


    6.5.3避免訪問外部可變狀態   165


    6.6本章小結      166


     



    • 第7章Kotlin協程在Android上的應用 167


    7.1Android上的異步問題 167


    7.1.1基於UI的異步問題分析  167


    7.1.2“雞肋”的AsyncTask     169


    7.1.3“燙手”的回調       169


    7.1.4“救世”的RxJava   170


    7.2協程對UI的支持 173


    7.2.1UI調度器  173


    7.2.2協程版AutoDispose  174


    7.2.3Lifecycle的協程支持       176


    7.3常見框架的協程擴展   177


    7.3.1RxJava的擴展   177


    7.3.2異步組件ListenableFuture       179


    7.3.3ORM框架Room       180


    7.3.4圖片加載框架coil    181


    7.3.5網絡框架Retrofit      182


    7.3.6協程風格的對話框   183


    7.4本章小結      184


     



    • 第8章Kotlin協程在Web服務中的應用 185


    8.1多任務並發模型   185


    8.1.1多進程的服務模型   185


    8.1.2多線程的服務模型   186


    8.1.3事件驅動與異步I/O 186


    8.2協程在多任務模型中的運用      190


    8.2.1協程與異步I/O 191


    8.2.2協程與“輕量級線程”   192


    8.3常見Web應用框架的協程擴展  193


    8.3.1Spring的響應式支持       193


    8.3.2Vert.x  196


    8.3.3Ktor    199


    8.4本章小結      203


     



    • 第9章Kotlin協程在其他平臺上的應用 204


    9.1Kotlin-Js       204


    9.1.1Kotlin-Js概述    205


    9.1.2Kotlin-Js上的協程    209


    9.2Kotlin-Native 212


    9.2.1Kotlin-Native概述    212


    9.2.2Kotlin-Native的協程支持 218


    9.3本章小結      221

    前言
    【為什麼要寫這本書】
    我應該算是國內比較早接觸和使用Kotlin的開發者了。
    知道這門語言完全是個偶然。當時我還在阿裡巴巴實習,周末沒事去公司蹭喫蹭喝蹭電腦,編譯了Hotspot源碼覺得還不過癮,又開始編譯IntelliJ IDEA的社區版。
    某天下午我遇到件煩心事,編譯並不是很順利。我發現有一種沒見過的後綴為kt的文件,頓時感到壓力倍增,Groovy和Scala我還沒學會呢,怎麼又來一個!不過,當時我隻是按照說明把Kotlin的環境搭建好,並沒有繼續理會這門還處在v0.8的語言。
    畢業之後我就職於騰訊地圖,得益於團隊良好的技術氛圍以及對新人的鼓勵和信任,入職年就能有機會負責重構地圖SDK,後來為團隊貢獻了不少公共組件。整個過程中我既充分感受到了Java的魅力,也發現了它在開發效率上的不足。於是我試著用Groovy、Scala甚至Python來開發Android,但都不太理想,後想起JetBrains家的“小兒子”Kotlin,結果就一發不可收拾。

    【為什麼要寫這本書】


    我應該算是國內比較早接觸和使用Kotlin的開發者了。


    知道這門語言完全是個偶然。當時我還在阿裡巴巴實習,周末沒事去公司蹭喫蹭喝蹭電腦,編譯了Hotspot源碼覺得還不過癮,又開始編譯IntelliJ IDEA的社區版。


    某天下午我遇到件煩心事,編譯並不是很順利。我發現有一種沒見過的後綴為kt的文件,頓時感到壓力倍增,Groovy和Scala我還沒學會呢,怎麼又來一個!不過,當時我隻是按照說明把Kotlin的環境搭建好,並沒有繼續理會這門還處在v0.8的語言。


    畢業之後我就職於騰訊地圖,得益於團隊良好的技術氛圍以及對新人的鼓勵和信任,入職年就能有機會負責重構地圖SDK,後來為團隊貢獻了不少公共組件。整個過程中我既充分感受到了Java的魅力,也發現了它在開發效率上的不足。於是我試著用Groovy、Scala甚至Python來開發Android,但都不太理想,後想起JetBrains家的“小兒子”Kotlin,結果就一發不可收拾。


    Lambda,我所欲也;擴展函數,亦我所欲也。二者居然可兼得。後來我的業餘時間也從研究“茴香豆的‘茴’有幾種寫法”變成了研究“這段Java代碼用Kotlin能怎麼簡化”。可是,當時身邊的同事和同行似乎並沒有對Java感到疲憊,於是我又開始試著錄視頻、寫文章,終走上了Kotlin的布道之路。


    幸運的是,Kotlin在2017年的Google I/O大會上被提為Android開發的一級語言,這著實讓它火了一把。那時候絕大多數Android工程師可能都沒有聽說過這門語言,它有何德何能竟會受到Google的青睞?


    當時,我和幾個天天因Kotlin的特性而相互“口誅筆伐”的群友們聚到一起,考慮是否要寫本書—大家也許需要這樣一本書來了解Kotlin。不過,這本書因寫作時間很長,耗盡了大家的熱情,我們尚未定稿,國內其他Kotlin入門書已陸續面世。至於我負責的協程部分,從協程還是個“寶寶”開始,先後重寫了三次,現在的Kotlin協程儼然是一位“大叔”了。


    2019年,機械工業出版社的楊福川老師找到我,問我要不要寫點什麼。我想,Kotlin協程現在仍然是一個很大的麻煩,國內外都沒有很好的資料,官方文檔又過於精練,不太適合大家入門和進階。於是就有了這本書。


    Kotlin協程不像Python、JavaScript的async/await那樣容易上手,後者似乎根本不需要明白什麼是協程就能輕松使用。


    我曾試著從Kotlin協程的標準庫API開始講—這樣的好處是大家能夠打好基礎,結果大多數讀者反饋這樣不易學習。於是在“破解Kotlin協程”繫列文章中,我從一開始就基於Kotlin項目組提供的協程框架開始介紹,並對比RxJava從實際問題切入,讀者反映這可能是通俗易懂的協程文章了。不過很快,在介紹到調度器和掛起原理等內容的時候,讀者就開始叫苦了,反饋說讀起來如同天書一般。


    當然,這其中也不乏感覺良好的讀者,他們期望我能繫統地對比一下Kotlin與其他語言的協程實現的異同,這說明這部分內容本身不是問題,問題可能是鋪墊做得不足。於是我仔細分析了讀者反饋的問題,發現多數問題源自大家對於協程概念理解的偏差。因此在本書中,我從一開始就緊緊抓住概念問題,從各個角度去闡釋什麼是協程,以及Kotlin協程與其他常見語言的協程在實現上有何區別。在探討概念的時候,我盡可能用實際問題引入,逐步給出解決思路,由簡入繁,將協程的設計思路和實現細節盡可能地呈現出來。


    還有朋友建議我在文章中多提供一些圖表以方便理解,為此我在本書中為所有關鍵節點提供了相應的狀態圖、時序圖等,希望能夠幫助讀者輕松理解探討的內容。


     


    【讀者對像】


    本書適用於有一定基礎的Kotlin開發者,包括但不限於正在使用和希望使用Kotlin開發Android、Web服務、iOS、前端等應用的開發者。


    本書不會講解Kotlin的基礎語法,因此建議Kotlin初學者先閱讀基礎書,《Kotlin核心編程》就是一個不錯的選擇。你也可以訪問https://coding.imooc.com/class/398.html參考我在慕課網發布的“Kotlin入門到精通”視頻課程,視頻中詳細講解了Kotlin的基礎與進階知識,其中的協程部分可以與本書配套學習。


     


    【本書特色】


    Kotlin協程背後的知識點非常多,本書從異步程序的設計入手,探討異步程序設計中要面對的關鍵問題,並在之後圍繞這幾個關鍵問題對Kotlin協程的設計實現展開探討。


    在剖析Kotlin協程的過程中,本書除介紹API的基本用法以外,還提供了使用Kotlin協程設計實現各類復合協程API的思路和方法,並抽像出一套繫統的設計思路,通過CoroutineLite這個項目的設計實現,幫助大家深入了解官方協程框架的內部運行機制。


    在幫助讀者掌握Kotlin協程內部原理的同時,本書還從Android、Web應用和多平臺等角度提供了實踐思路,幫助讀者做到在原理上深入淺出,在實戰中融會貫通。


    為了方便內容的展開,在探討的過程中本書也對一些概念明確進行了定義和歸納,例如簡單協程、復合協程、協程體等。


    本書包含了豐富的示例,以便於讀者閱讀參考。


    為提升讀者的閱讀體驗,本書所有代碼均采用JetBrains Mono字體,該字體由Kotlin項目團隊所屬公司JetBrains為開發者專門打造,更適合代碼的閱讀。


     


    【如何閱讀這本書】


    本書基於撰寫時的Kotlin v1.3.61來講解Kotlin協程的基本概念、實現原理和實踐技巧。全書共9章,具體內容如下。


    第1章主要從程序設計出發,結合實際問題引出異步程序的設計方案。異步程序的設計和實現是本書探討的協程的基本應用場景,也是本書內容的基石。


    第2章主要從協程本身切入,剖析協程是什麼、有哪些類別,以及不同語言的協程實現有何種區別和聯繫等。這一章內容是理解Kotlin協程概念的前提。


    第3章主要以Kotlin標準庫的協程API為核心,闡述簡單協程的使用方法和運行機制。簡單協程是復合協程的基礎,掌握這部分內容是理解協程工作機制的關鍵。


    第4章主要介紹運用Kotlin協程的基礎設施設計和實現復合協程的思路和方法,為後續對官方協程框架的學習和運用奠定基礎。


    第5章以官方協程框架為模板,介紹如何逐步實現其中的核心功能,以幫助讀者了解其中的實現細節,並對復合協程的運行機制做到心中有數。這部分內容也是對前幾章所述基礎知識進行靈活運用的體現。


    第6章介紹官方協程框架的運用,重點探討了Channel、Flow、select的使用場景。至此,我們就已經掌握了將協程運用到實踐中的基本技能。


    第7章主要探討協程在以Android為例的UI應用程序開發環境中面臨的挑戰和解決問題的方法,重點介紹了協程與Android生命周期的結合、協程與RxJava的互調用,以及Retrofit、Room等框架對協程的支持。


    第8章主要探討協程在Web服務開發場景中的運用,重點給出了基於Spring、Vert.x、Ktor這幾個框架運用協程解決異步問題的方法和思路。


    第9章主要介紹在除JVM以外的JavaScript和Native平臺上,Kotlin協程的應用情況。


    整體看來,第1~3章側重於概念的介紹,第4章和第5章側重於介紹如何將簡單協程封裝成復合協程,第6章介紹官方框架所提供的復合協程的使用方法,第7~9章側重於實戰運用。


    建議對協程不了解的讀者從前到後循序漸進地閱讀本書。如果對協程有一定的認識,包括有在Lua、Go、JavaScript等語言中使用協程解決異步問題的經驗,可以嘗試從第6章開始閱讀,在遇到不清楚的地方時再有目的地查閱前面的內容。如果想要快速體驗協程的魅力,也可以直接從第7章開始挑選自己感興趣的內容閱讀,但全面了解協程的運行機制和原理仍然非常必要。


    另外需要說明的是,本書在第2章介紹協程的概念時橫向對比了幾類典型的協程實現,在第4章中會使用Kotlin仿照這些協程的實現風格給出對應的復合協程實現,這其中涉及Lua、JavaScript、Go等語言,大家不需要對這些語言有更多的認識和了解,隻需了解它們的實現形式即可。

    媒體評論
    ★Kotlin包含很多現代高級語言的特性,Kotlin協程針對並發編程的痛點給出了解決方案。感謝丙乾能撰寫一本關於協程的專著。這本書的內容不簡單,但值得各位讀者深入學習。
    ——鄧凡平資深Android技術專家 /“深入理解Android”繫列叢書作者

    ★在國內Kotlin的布道者中,“Bennyhuo”這個ID如雷貫耳。本書介紹了Kotlin協程在各個領域的實際應用,提供了很多工程應用上的思路。同時,本書更進一步講解了協程背後的實現機制,以及不同語言協程之間的異同,是Kotlin編程進階的書。
    ——Jilen 《Kotlin核心編程》作者 / 水滴技術團隊

    ★Kotlin包含很多現代高級語言的特性,Kotlin協程針對並發編程的痛點給出了解決方案。感謝丙乾能撰寫一本關於協程的專著。這本書的內容不簡單,但值得各位讀者深入學習。


    ——鄧凡平資深Android技術專家 /“深入理解Android”繫列叢書作者


     


    ★在國內Kotlin的布道者中,“Bennyhuo”這個ID如雷貫耳。本書介紹了Kotlin協程在各個領域的實際應用,提供了很多工程應用上的思路。同時,本書更進一步講解了協程背後的實現機制,以及不同語言協程之間的異同,是Kotlin編程進階的書。


    ——Jilen 《Kotlin核心編程》作者 / 水滴技術團隊


     


    ★霍老師是國內 Kotlin 編程的先驅,是首屈一指的 Kotlin 專家。本書內容由簡入繁,搭配精練的圖表,不僅介紹了理論,而且通過大量示例講解了各種實戰場景,一定能幫助讀者深入理解Kotlin協程。不論你是Kotlin的初學者,還是已經有一定的Kotlin基礎,如果想繫統學習協程,這本大作*是經典。


    ——範聖佑JetBrains技術布道師


     


    ★本書作者是國內深入研究Kotlin的開發者之一,也是國內有影響力的Kotlin布道師,他的視頻教程和原創文章都頗受歡迎。本書像作者之前的作品一樣干貨滿滿,更全面、更繫統化,也更有深度,會引領讀者深入理解協程乃至異步程序設計的用法、原理與編程思想。


    ——賈彥偉Kotlin中文站負責人

    書摘插畫
    插圖
    插圖

    插圖

    插圖

    插圖

    插圖

    插圖
















     
    網友評論  我們期待著您對此商品發表評論
     
    相關商品
    在線留言 商品價格為新臺幣
    關於我們 送貨時間 安全付款 會員登入 加入會員 我的帳戶 網站聯盟
    DVD 連續劇 Copyright © 2024, Digital 了得網 Co., Ltd.
    返回頂部