教程簡介
Java并發入門教程 - 從簡單的步驟了解Java并發,從基本到高級概念,包括概述,環境設定,主要操作,執行緒通信,同步,死鎖,ThreadLocal,ThreadLocalRandom,Lock,ReadWriteLock,Condition,AtomicInteger, AtomicLong,AtomicBoolean,AtomicReference,AtomicIntegerArray,AtomicLongArray,AtomicReferenceArray,Executor,ExecutorService,ScheduledExecutorService,newFixedThreadPool,newCachedThreadPool,newScheduledThreadPool,newSingleThreadExecutor,ThreadPoolExecutor,ScheduledThreadPoolExecutor,Futures and Callables,Fork-Join框架,BlockingQueue,ConcurrentMap,ConcurrentNavigableMap,
執行緒的優勢
1.充分利用多CPU的能力,提高系統吞吐量:在蒸煮(任務1)的程序中,同時可以炒菜(任務2),當然你的煤氣灶是單灶就沒法了,,,即使在單CPU的機器上,多執行緒也可能提高程式的吞吐量,假如某個操作被阻塞(同步I/O操作),后續的邏輯不得不等待其完成,如果將其分開,放入不同的執行緒中,則在I/O上被阻塞的執行緒不會影響另一個執行緒被調度執行,比如你等燒水的時間可以刷朋友圈, 這樣做的前提是,程式首先是可以被分開,另一個執行緒的執行并不依賴I/O操作的結果,
2.簡化建模:你有三個任務要處理,改BUG,給老板寫報告,關注股市行情等,當你正在絞盡腦汁地改bug,老板忽然發訊息讓你盡快交報告,還同時高頻觀察股價以便出手解套,有時候你要兼顧幾個任務,常常讓人倍感疲憊,程式也一樣,有很多task要處理,如何以優雅的方式進行是一個設計問題,JAVA允許將復雜應用分解為不同的任務,每個任務分配給獨立的執行緒運行,從而使編程邏輯清晰,很多框架如Servlet,RMI都是利用此模型開發,框架來管理請求,創建執行緒,平衡負載,分發(dispatch)請求給相應的業務處理組件,屏蔽了底層的細節,開發人員只需要關注業務邏輯,
3.提高用戶界面回應:用Eclipse IDE都知道,如果觸發一個長時間的任務(編譯工程,搜索檔案,更新等),界面依然可以接受用戶的其他操作,對于長時間的任務,會放入單獨的執行緒里面完成,從而不影響Event Thread處理用戶別的很快完成的請求,
4.異步事件處理的簡單化: Java NIO提供了一種非阻塞IO機制,在超大量請求來時,可能會觸到多執行緒的性能瓶頸,通過NIO實作單執行緒內的異步IO,從而減少執行緒的創建數量,并且不阻塞其他邏輯,但是NIO相對比較復雜也容易出錯,而通過簡單的多執行緒,同步IO已經可以滿足大部分需求,
教程目錄
- Java并發教程
- Java并發 - 概述
- Java并發 - 環境設定
- Java并發 - 主要操作
- 深入溝通
- Java并發 - 同步
- Java并發 - 死鎖
- Java并發 - ThreadLocal類
- ThreadLocalRandom類
- Java并發 - 鎖介面
- Java并發 - ReadWriteLock介面
- Java并發 - 條件介面
- Java并發 - AtomicInteger類
- Java并發 - AtomicLong類
- Java Concurrency - AtomicBoolean類
- Java并發 - AtomicReference類
- Java并發 - AtomicIntegerArray類
- Java Concurrency - AtomicLongArray類
- AtomicReferenceArray類
- Java并發 - Executor Interface
- ExecutorService介面
- ScheduledExecutorService介面
- newFixedThreadPool方法
- newCachedThreadPool方法
- newScheduledThreadPool方法
- newSingleThreadExecutor方法
- ThreadPoolExecutor類
- ScheduledThreadPoolExecutor類
- Java并發 - Futures和Callables
- Java Concurrency - Fork-Join框架
- Java并發 - BlockingQueue介面
- Java并發 - ConcurrentMap介面
- ConcurrentNavigableMap介面
- Java并發 - 有用的資源
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/552494.html
標籤:其他
上一篇:TokenObtainPairSerialize和TokenObtainPairView
下一篇:返回列表
