這篇的主題本應(yīng)該放在最初的幾篇,討論的是并發(fā)編程最基礎(chǔ)的幾個核心概念吨铸,但是這幾個概念又牽扯到很多的實際技術(shù),比如Java內(nèi)存模型枫弟,各種鎖的實現(xiàn)阳掐,...
這篇看一下時限隊列鎖的一種實現(xiàn)方式。 java并發(fā)包中的Lock定義包含了時限鎖的接口: tryLock就是實現(xiàn)鎖的接口武福,它支持限時操作议双,支持中...
在聊聊高并發(fā)(七)實現(xiàn)幾種自旋鎖(二) 這篇中介紹了兩種隊列鎖,一種是有界隊列鎖捉片,一種是無界隊列鎖平痰。其中無界隊列鎖CLHLock采用了鏈表的方式...
在聊聊高并發(fā)(六)實現(xiàn)幾種自旋鎖(一) 這篇中實現(xiàn)了兩種基本的自旋鎖:TASLock和TTASLock,它們的問題是會進(jìn)行頻繁的CAS操作伍纫,引發(fā)...
在聊聊高并發(fā)(五)理解緩存一致性協(xié)議以及對并發(fā)編程的影響 我們了解了處理器緩存一致性協(xié)議的原理宗雇,并且提到了它對并發(fā)編程的影響,“多個線程對同一個...
Java作為一個跨平臺的語言莹规,它的實現(xiàn)要面對不同的底層硬件系統(tǒng)赔蒲,設(shè)計一個中間層模型來屏蔽底層的硬件差異,給上層的開發(fā)者一個一致的使用接口良漱。Jav...
在繼續(xù)了解Java內(nèi)存模型之前舞虱,最好先理解Java對象的內(nèi)存表示。在網(wǎng)上搜了下Java對象內(nèi)存表示母市,說得都不夠系統(tǒng)和到位矾兜。之前看了《Hotspo...
理解并發(fā)編程的一些基本概念很重要,給我們思考問題指明一個基本的方向患久。這篇說一說鎖的一些基本概念椅寺。 在通常情況下我們說的鎖都指的是“互斥”鎖浑槽,因為...
高并發(fā)問題拋去架構(gòu)層面的問題,落實到代碼層面就是多線程的問題配并。多線程的問題主要是線程安全的問題(其他還有活躍性問題括荡,性能問題等)。 那什么是線程...