android 多線程 — 學習目錄

ps:2019.5.1 重寫本篇

多線程毋庸置疑的點非常多,很雜也很深,你要是做后臺開發可以研究的非常深入,甚至像阿里一樣自己修改 JVM(租戶的概念),即便你是做 android 開發的朋友,多線程一樣也是要很熟,移動端太多的場景需要異步執行了,雖然我們有開源的異步執行庫,但是不代表我們自己就可以不會多線程的使用了,至少多線程基礎的概念,同步,鎖的類型,鎖的優化,線程池,阻塞隊列,callback,futrueTask 都是基本要會的,有些功能可能要我們自己做異步實現,比如數據庫操作,日志埋點操作,自己寫的異步操作可以操作性更強

學習多線程是要按部就班的來,因為點多,難易程度不同,并且前后概念由依賴關聯性,所以順序很重要

  1. 多線程的基礎 Thread 類我們必須要熟練,熟悉 Thread 的創建,和 Callable、Future、FutureTask 的配和,Thread 線程的基本概念,狀態,還有 wait,notify,join 等多線程基本的通信手段

  2. 了解過 Thread 之后,我們就要狠扎多線程的基礎理論點了,我們要搞懂 java 同步的2個關鍵字 synchronized 和 volatile,并且結合 java 內存模型來深入體會這2個關鍵字的作用,然后我們在學習完內存模型后順帶著把 GC 原理搞懂了,都是在一塊的知識點,連帶著學最合適。下一步我們就要知道為什么我們要減少創建線程對象的數量,線程切換會帶來嚴重的性能問題,包括:線程上下文切換,線程狀態的切換。在這之后我們就要學習同步的關鍵了:,鎖的原理,CAS 原子算法,JVM 多鎖的優化, reentrantLock 重入鎖,然后再結合一個小例子,體會下同步

  3. 這個時候我想大家對于多線程的理論至少已經有了立體的概念,這樣我們最后面的學習中才不會出現吃力的現象,這個時候我們就要學習多線程的核心:線程池 了,學習其原理,學習他在各個異步任務庫中的實現,這里設計到 android 的知識點了

  4. 上面的學完了,使用多線程基本沒問題了,但是上面的說實話只是多線程的基本,后面還有呢,繼續深入學習的話看下面,這部分我會逐漸添加新內容的


上面都是我自己學習多線程的感悟,基于自己的理解和學習習慣,順序,進度,要是大家在看一些點的時候看的不是那么透徹或是沒搞懂的話可以看下面的資料:

  1. 簡書平臺

優先推薦:香沙小熊 同學的資料,入門性更好

  1. 其他
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Java 多線程 線程和進程的區別 線程和進程的本質:由CPU進行調度的并發式執行任務,多個任務被快速輪換執行,使...
    安安zoe閱讀 2,220評論 1 18
  • Android中的線程 線程,在Android中是非常重要的,主線程處理UI界面,子線程處理耗時操作。如果在主線程...
    shenhuniurou閱讀 811評論 0 3
  • 以婕喜歡上一個男生,是樓上另外一個單位的同事,叫磊。 她在同事群上詢問磊的聯系方式,群里一下子就炸開了鍋。 “哇哇...
    井南冒冒閱讀 308評論 0 0
  • 蘇婉第三次聽到祁洋的手機響了,寂靜的夜里,臥室里太安靜,輕微的震動都可以聽到。 她過去拿了起來。 “喂,你好!”蘇...
    瀟湘夜雨11閱讀 317評論 5 7
  • 2009-12-15 03:24:22 歡迎交流。 1、以適當的價格購買有更高價值的東西。 2、價值在于未來現金流...
    大大花生閱讀 321評論 0 2