前言
一、第一部分 go并發(fā)編程基礎
什么是線程&協(xié)程。
什么是并發(fā)&并行
并發(fā)編程難在哪里
數(shù)據(jù)競爭的存在
操作的原子性
內(nèi)存訪問同步
死鎖
什么是死鎖
如何避免線程死鎖
指令重排序
偽共享
什么是偽共享
如何產(chǎn)生的
怎么避免
鎖的概述
樂觀鎖&悲觀鎖
公平鎖&非公平鎖
獨占鎖&共享鎖
可重入鎖&自旋鎖
go線程模型
二、第二部分 go并發(fā)編程高級篇
go內(nèi)存模型
三、第三部分 go并發(fā)編程實戰(zhàn)
從各種框架中看如何使用并發(fā)庫來解決問題的。
名稱:深度剖析Java多線程核心技術(shù)
小冊內(nèi)容
一、Java多線程并發(fā)編程基礎
1.1 什么是線程?
1.2 線程之間的基礎同步設施
1.3 線程的虛假喚醒問題
1.4 被中斷的線程,狀態(tài)發(fā)生了什么變化
1.5 線程死鎖以及如何規(guī)避
1.6 Dameon線程與User線程
1.7 并發(fā)與并行本質(zhì)區(qū)別是什么
1.8 什么是線程安全問題
1.9 共享變量的可見性問題
1.10 關(guān)鍵字Volatile與Synchronized的內(nèi)存語義是什么
1.11 什么是指令重排序
1.11 什么是偽共享?cpu cache為何會造成偽共享的存在
二、Java多線程并發(fā)編程核心技術(shù)
2.1 AtomicLong如何使用CAS來實現(xiàn)的
2.2 LongAdder是如何通過分而治之來避免AtomicLong的性能問題的?
2.3 ThreadLocal內(nèi)部是如何實現(xiàn)的
2.4 InheritableThreadLocal如何解決了ThreadLocal的缺點
2.5 ThreadLocalRandom是如何借鑒ThreadLocal的思想解決Random的性能問題
2.6 CopyOnWriteArrayList是如何基于寫時拷貝實現(xiàn)線程安全的
2.6 AQS抽象同步隊列-鎖的基礎組件
2.7 獨占鎖ReentrantLock的實現(xiàn)原理
2.8 讀寫鎖ReentrantReadWriteLock的實現(xiàn)原理
2.9 JDK8新增的StampedLock的實現(xiàn)原理
2.10 如何使用join方法來實現(xiàn)線程同步
2.11 如何使用CountDownLatch來實現(xiàn)線程同步
2.12 如何使用CyclicBarrier來實現(xiàn)線程同步
2.13 如何使用Semaphore來實現(xiàn)線程同步
三、Java多線程并發(fā)編程實踐
3.1 盡量不要new線程,要用線程池
3.2 創(chuàng)建線程和線程池時候要帶自定義名稱
3.3 線程池使用完畢后要記得關(guān)閉
3.4 線程池使用時候要注意拒絕策略和線程池隊列
3.5 線程的run方法內(nèi)不要拋出異常
3.6 ThreadLocal使用不當會導致內(nèi)存泄露
3.7 SimpleDateFormat是線程不安全的
3.8 正確姿勢使用ConcurrentHashMap
3.9 小心使用ArrayList的subList方法
3.10 復用POJO類元素有時候需要深拷貝
小冊介紹
如果說編寫正確的程序很難,那么編寫正確的并發(fā)程序更是難上加難,java多線程并發(fā)編程相比Java技術(shù)棧中的其他知識點的學習門檻較高,從而導致很多人望而卻步。但無論是職場面試,
還是高并發(fā)/ 高流量系統(tǒng)的實現(xiàn),卻都離不開并發(fā)編程,于是能夠真正掌握并發(fā)編程的人成為了市場迫切需求的人才。
本小冊將通過圖文結(jié)合、通俗易懂的講解方式幫助大家完成多線程并發(fā)編程從入門到實踐的飛躍!
本小冊分為三部分,第一部分為Java 多線程并發(fā)編程基礎篇,萬層高樓始于磚瓦,這部分主要講解Java多線程并發(fā)編程的基礎知識,掌握了本篇的內(nèi)容,就為學習第二部分Java多線程核心技術(shù)奠定了基礎;第二部分為Java 多線程并發(fā)編程核心部分,講解了Java 并發(fā)包中核心組件的實現(xiàn)原理,讓讀者知其然,也知其所以然,熟練掌握本篇內(nèi)容,對我們在日常開發(fā)高并發(fā)、高流量的系統(tǒng)時會大有裨益;第三部分為Java 多線程并發(fā)編程實踐篇,
主要講解在并發(fā)編程實踐中可能會遇到的問題以及解決方法。
適宜人群
有 Java 基礎,渴望深度掌握 Java多線程核心技術(shù)原理而不僅限于只會使用的中高級后端開發(fā)者;
渴望成功打入大型互聯(lián)網(wǎng)企業(yè)研發(fā)部的中高級后端開發(fā)者;
對 Java并發(fā)編程技術(shù) 技術(shù)好奇的中高級技術(shù)朋友們;
作者介紹
追夢,某大型互聯(lián)網(wǎng)公司資深Java開發(fā)工程師,并發(fā)編程網(wǎng)編輯;熱衷并發(fā)編程,微服務架構(gòu)設計,中間件基礎設施