JAVA并發(fā)圖解
JAVA并發(fā)總覽
核心問題
并不是程序的漏洞導(dǎo)致的,而是操作系統(tǒng)底層機(jī)制導(dǎo)致的

原子性:

可見性問題:
改的是緩存,但是緩存對另一個(gè)線程不可見

有序性問題:
正常應(yīng)該先創(chuàng)建對象,再賦值;而編譯器對指令執(zhí)行順序出于某些原因進(jìn)行了優(yōu)化,然后改變了執(zhí)行順序,如下:

解決方案
可見性:

有序性:
這個(gè)原則在加了volatile和鎖的時(shí)候自動(dòng)生效,也就是說解決了可見性和原子性,可見性順帶就解決了

原子性:
操作系統(tǒng)角度,監(jiān)視器的名字是管程
解決了原子性問題,可見性和有序性都能解決



并發(fā)工具
CAS的方式會(huì)出現(xiàn)ABA問題,就是說是被修改了兩次而又變回了原來的值,但是檢查是沒有變化的,對于引用對象就會(huì)出現(xiàn)問題,引用對象地址沒變,但是引用的東西發(fā)生了變化

其他方案
ThreadLocal,線程是Key,值是線程的數(shù)據(jù),每個(gè)線程取東西存東西,都是通過線程key區(qū)分,來隔離的

總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
- Java并發(fā)編程之代碼實(shí)現(xiàn)兩玩家交換裝備
- Java并發(fā)編程之阻塞隊(duì)列(BlockingQueue)詳解
- java實(shí)戰(zhàn)案例之用戶注冊并發(fā)送郵件激活/發(fā)送郵件驗(yàn)證碼
- java并發(fā)編程JUC CountDownLatch線程同步
- Java并發(fā)之Condition案例詳解
- java并發(fā)編程之ThreadLocal詳解
- Java 處理高并發(fā)負(fù)載類優(yōu)化方法案例詳解
- 淺談Java高并發(fā)解決方案以及高負(fù)載優(yōu)化方法
- Java httpClient連接池支持多線程高并發(fā)的實(shí)現(xiàn)
- Java中常見的并發(fā)控制手段淺析
- Java之Rsync并發(fā)遷移數(shù)據(jù)并校驗(yàn)詳解
- Java面試題沖刺第二十四天--并發(fā)編程
- Java 模擬真正的并發(fā)請求詳情
相關(guān)文章
Spring的事件發(fā)布與監(jiān)聽方式案例講解
今天去官網(wǎng)查看spring?boot資料時(shí),在特性中看見了系統(tǒng)的事件及監(jiān)聽章節(jié),所以下面這篇文章主要給大家介紹了關(guān)于SpringBoot事件發(fā)布和監(jiān)聽的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-03-03
java怎么設(shè)置代理ip實(shí)現(xiàn)高效網(wǎng)絡(luò)請求
無論是在爬蟲、API調(diào)用還是網(wǎng)絡(luò)測試中,代理IP的使用都變得愈發(fā)重要,本文我們主要來介紹一下如何在Java中設(shè)置代理IP實(shí)現(xiàn)高效網(wǎng)絡(luò)請求吧2024-11-11
SpringBoot實(shí)現(xiàn)圖形驗(yàn)證碼生成的方法
驗(yàn)證碼可以有效防止其他人對某一個(gè)特定的注冊用戶用特定的程序暴力 破解方式進(jìn)行不斷的登錄嘗試,斷的登錄嘗試2025-03-03
我們其實(shí)很經(jīng)常看到,登錄一些網(wǎng)站其實(shí)是需要驗(yàn)證碼的,本文給大家介紹了SpringBoot實(shí)現(xiàn)圖形驗(yàn)證碼生成的方法,需要的朋友可以參考下
java 高并發(fā)中volatile的實(shí)現(xiàn)原理
這篇文章主要介紹了java 高并發(fā)中volatile的實(shí)現(xiàn)原理的相關(guān)資料,在多線程并發(fā)編程中synchronized和Volatile都扮演著重要的角色,Volatile是輕量級的synchronized,它在多處理器開發(fā)中保證了共享變量的“可見性”,需要的朋友可以參考下2017-03-03
用Java實(shí)現(xiàn)簡單ATM機(jī)功能
這篇文章主要為大家詳細(xì)介紹了用Java實(shí)現(xiàn)簡單ATM機(jī)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Spring定時(shí)任務(wù)無故停止又不報(bào)錯(cuò)的解決
這篇文章主要介紹了Spring定時(shí)任務(wù)無故停止又不報(bào)錯(cuò)的解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11

