前面我們多次提到一個累加器的例子,示例代碼如下。在這個例子中,add10K() 這個方法 不是線程安全的,問題就出在變量 count 的可見性和...
投稿
前面我們多次提到一個累加器的例子,示例代碼如下。在這個例子中,add10K() 這個方法 不是線程安全的,問題就出在變量 count 的可見性和...
Java 并發(fā)包有很大一部分內(nèi)容都是關于并發(fā)容器的,因此學習和搞懂這部分的內(nèi)容很有必要。 Java 1.5 之前提供的同步容器雖然也能保證線程安...
前幾天老板突然匆匆忙忙過來,說對賬系統(tǒng)最近越來越慢了,能不能快速優(yōu)化一下。我了解了對賬系統(tǒng)的業(yè)務后,發(fā)現(xiàn)還是挺簡單的,用戶通過在線商城下單,會生...
在上一篇文章中,我們介紹了讀寫鎖,學習完之后你應該已經(jīng)知道“讀寫鎖允許多個線程同時讀共享變量,適用于讀多寫少的場景”。那在讀多寫少的場景中,還有...
前面我們介紹了管程和信號量這兩個同步原語在 Java 語言中的實現(xiàn),理論上用這兩個同步原語中任何一個都可以解決所有的并發(fā)問題。那 Java SD...
如果五輪面試中四輪問道了ThreadLocal,是一種什么體驗? 在java的多線程模塊中,ThreadLocal是經(jīng)常被提問到的一個知識點 ,...
Semaphore,現(xiàn)在普遍翻譯為“信號量”,以前也曾被翻譯成“信號燈”,因為類似現(xiàn)實生活里的紅綠燈,車輛能不能通行,要看是不是綠燈。同樣,在編...
在上一篇文章中,我們講到 Java SDK 并發(fā)包里的 Lock 有別于 synchronized 隱式鎖的三個特性:能夠響應中斷、支持超時和非...
在工作中,我發(fā)現(xiàn)很多同學在設計之初都是直接按照單線程的思路來寫程序的。 而忽略了本應該重視的并發(fā)問題。 關于這個問題,我們今天來聊聊 如何用面向...
并發(fā)的故事起源是怎么樣的呢? 起源是一個硬件的核心矛盾:CPU 與內(nèi)存、I/O 的速度差異,系統(tǒng)軟件(操作系統(tǒng)、編譯器)在解決這個核心矛盾的同時...