前言
這個世界的運轉就是非同步的,因此非同步程式設計變得越來越重要。我們在最開始學習程式設計的時候都是編寫同步的程式碼,隨著學習的深入,為了提高系統性能,就會使用非同步程式設計來處理一些任務,從而提高系統的吞吐率。但是非同步程式設計會產生一些新的問題,比如如何監控非同步執行緒的狀態,如何處理錯誤,如何管理大量的執行緒,這些問題都使我意識到必須要深入地學習非同步程式設計。
非同步程式設計可以很好的平衡IO密集型任務和CPU密集型任務之間的分工合作。充分利用計算機CPU資源,不讓CPU阻塞在某個長時間執行的任務上,提高CPU執行的吞吐率。如果不使用多執行緒非同步程式設計,我們的系統就會阻塞在耗時的任務上,十分浪費計算資源。而為了幫助大家完美地解決這個問題,阿嘴在這裡分享一份“Java非同步程式設計實戰”手冊。
整手冊由淺入深,是一部全面解析Java非同步程式設計的學習資料,針對各種常見非同步程式設計場景,從程式語言、開發框架等角度深入講解了非同步程式設計的原理和方法。
- 本手冊首先介紹了非同步程式設計的概念、適用場景,以及如何使用執行緒和執行緒池來實現非同步程式設計;
- 再講解JDK中的各種Future及其內部實現原理,然後講解如何使用Future實現非同步程式設計,以及如何結合JDK8 Stream 和Future實現非同步程式設計;
- 以及對Spring框架中提供的非同步執行能力進行詳細分析,包含Spring中如何對TaskExecutor進行抽象,如何使用註解@Async實現非同步程式設計,以及其內部實現原理;
- 最後講解了最近比較熱門的反應式程式設計相關的內容,包含什麼是反應式程式設計,如何使用反應式程式設計規範的庫RxJava和Reactor庫實現非同步程式設計。
詳細內容及細節
- 認識非同步程式設計
- 顯式使用執行緒和執行緒池實現非同步程式設計
- 基於JDK中的Future實現非同步程式設計
- Spring框架中的非同步執行
- 基於反應式程式設計實現非同步程式設計
- Web Servlet的非同步非阻塞處理
- Spring WebFlux的非同步非阻塞處理
- 高效能非同步程式設計框架和中介軟體
- Go語言的非同步程式設計能力
本手冊注重理論與實踐相結合,且每個非同步技術點都附有程式碼例項,幫助讀者加深理解。早學早享受,幫忙點贊轉發下,後臺私信【學習】或【筆記】,取得免費完整筆記下載方式@程式猿阿嘴