-
甘特圖怎么制作更方便?甘特圖制作方法" title="甘特圖怎么制作更方便?甘特圖制作方法" width="200" height="150">
-
OKR的實(shí)施標(biāo)準(zhǔn)步驟是什么?成功實(shí)施落地OKR的要點(diǎn)" title="OKR的實(shí)施標(biāo)準(zhǔn)步驟是什么?成功實(shí)施落地OKR的要點(diǎn)" width="200" height="150">
-
Java并發(fā)編程的藝術(shù)》 —3.5.3 鎖內(nèi)存語義的實(shí)現(xiàn)" title="《Java并發(fā)編程的藝術(shù)》 —3.5.3 鎖內(nèi)存語義的實(shí)現(xiàn)" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —3.5.3 鎖內(nèi)存語義的實(shí)現(xiàn)
所有內(nèi)容 ?2025-04-023.5.3 鎖內(nèi)存語義的實(shí)現(xiàn) 本文將借助ReentrantLock的源代碼,來分析鎖內(nèi)存語義的具體實(shí)現(xiàn)機(jī)制。 請(qǐng)看下面的示例代碼。 class ReentrantLockExample { int a...
-
Java并發(fā)編程的藝術(shù)》 —3.2.4 重排序?qū)Χ嗑€程的影響" title="《Java并發(fā)編程的藝術(shù)》 —3.2.4 重排序?qū)Χ嗑€程的影響" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —3.2.4 重排序?qū)Χ嗑€程的影響
所有內(nèi)容 ?2025-04-023.2.4 重排序?qū)Χ嗑€程的影響 現(xiàn)在讓我們來看看,重排序是否會(huì)改變多線程程序的執(zhí)行結(jié)果。請(qǐng)看下面的示例代碼。 class ReorderExample { int a = 0; boolean fl...
-
Java并發(fā)編程的藝術(shù)》 —3.1.2 Java內(nèi)存模型的抽象結(jié)構(gòu)" title="《Java并發(fā)編程的藝術(shù)》 —3.1.2 Java內(nèi)存模型的抽象結(jié)構(gòu)" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —3.1.2 Java內(nèi)存模型的抽象結(jié)構(gòu)
所有內(nèi)容 ?2025-04-023.1.2 Java內(nèi)存模型的抽象結(jié)構(gòu) 在Java中,所有實(shí)例域、靜態(tài)域和數(shù)組元素都存儲(chǔ)在堆內(nèi)存中,堆內(nèi)存在線程之間共享(本章用“共享變量”這個(gè)術(shù)語代指實(shí)例域,靜態(tài)域和數(shù)組元素)。局部變量(Local...
-
Java并發(fā)編程的藝術(shù)》 —3.4.5 JSR-133為什么要增強(qiáng)volatile的內(nèi)存語義" title="《Java并發(fā)編程的藝術(shù)》 —3.4.5 JSR-133為什么要增強(qiáng)volatile的內(nèi)存語義" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —3.4.5 JSR-133為什么要增強(qiáng)volatile的內(nèi)存語義
所有內(nèi)容 ?2025-04-013.4.5 JSR-133為什么要增強(qiáng)volatile的內(nèi)存語義 在JSR-133之前的舊Java內(nèi)存模型中,雖然不允許volatile變量之間重排序,但舊的Java內(nèi)存模型允許volatile變量與...
-
Java并發(fā)編程的藝術(shù)》 —2.3 原子操作的實(shí)現(xiàn)原理" title="《Java并發(fā)編程的藝術(shù)》 —2.3 原子操作的實(shí)現(xiàn)原理" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —2.3 原子操作的實(shí)現(xiàn)原理
所有內(nèi)容 ?2025-04-012.3 原子操作的實(shí)現(xiàn)原理 原子(atomic)本意是“不能被進(jìn)一步分割的最小粒子”,而原子操作(atomic operation)意為“不可被中斷的一個(gè)或一系列操作”。在多處理器上實(shí)現(xiàn)原子操作就變得...
-
Java并發(fā)編程的藝術(shù)》 —1.3 資源限制的挑戰(zhàn)" title="《Java并發(fā)編程的藝術(shù)》 —1.3 資源限制的挑戰(zhàn)" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —1.3 資源限制的挑戰(zhàn)
所有內(nèi)容 ?2025-04-011.3 資源限制的挑戰(zhàn) (1)什么是資源限制 資源限制是指在進(jìn)行并發(fā)編程時(shí),程序的執(zhí)行速度受限于計(jì)算機(jī)硬件資源或軟件資源。例如,服務(wù)器的帶寬只有2Mb/s,某個(gè)資源的下載速度是1Mb/s每秒,系統(tǒng)啟動(dòng)...
-
Java并發(fā)編程的藝術(shù)》 —3.5 鎖的內(nèi)存語義" title="《Java并發(fā)編程的藝術(shù)》 —3.5 鎖的內(nèi)存語義" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —3.5 鎖的內(nèi)存語義
所有內(nèi)容 ?2025-03-313.5 鎖的內(nèi)存語義 眾所周知,鎖可以讓臨界區(qū)互斥執(zhí)行。這里將介紹鎖的另一個(gè)同樣重要,但常常被忽視的功能:鎖的內(nèi)存語義。 3.5.1 鎖的釋放-獲取建立的happens-before關(guān)系 鎖是Java...
-
Java并發(fā)編程的藝術(shù)》 —3.5.2 鎖的釋放和獲取的內(nèi)存語義" title="《Java并發(fā)編程的藝術(shù)》 —3.5.2 鎖的釋放和獲取的內(nèi)存語義" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —3.5.2 鎖的釋放和獲取的內(nèi)存語義
所有內(nèi)容 ?2025-03-313.5.2 鎖的釋放和獲取的內(nèi)存語義 當(dāng)線程釋放鎖時(shí),JMM會(huì)把該線程對(duì)應(yīng)的本地內(nèi)存中的共享變量刷新到主內(nèi)存中。以上面的MonitorExample程序?yàn)槔珹線程釋放鎖后,共享數(shù)據(jù)的狀態(tài)示意圖如圖3...
-
Java并發(fā)編程的藝術(shù)》 —3.5.4 concurrent包的實(shí)現(xiàn)" title="《Java并發(fā)編程的藝術(shù)》 —3.5.4 concurrent包的實(shí)現(xiàn)" width="200" height="150">
《Java并發(fā)編程的藝術(shù)》 —3.5.4 concurrent包的實(shí)現(xiàn)
所有內(nèi)容 ?2025-03-313.5.4 concurrent包的實(shí)現(xiàn) 由于Java的CAS同時(shí)具有volatile讀和volatile寫的內(nèi)存語義,因此Java線程之間的通信現(xiàn)在有了下面4種方式。 1)A線程寫volatile變...