一品威客app下載鄭州優(yōu)化公司有哪些
推薦鏈接:
????總結(jié)——》【Java】
????總結(jié)——》【Mysql】
????總結(jié)——》【Redis】
????總結(jié)——》【Kafka】
????總結(jié)——》【Spring】
????總結(jié)——》【SpringBoot】
????總結(jié)——》【MyBatis、MyBatis-Plus】
????總結(jié)——》【Linux】
????總結(jié)——》【MongoDB】
????總結(jié)——》【Elasticsearch】
Java——》synchronized互斥性
synchronized是互斥鎖
,每個線程獲取synchronized時,基于synchronized綁定的對象
去獲取鎖!
鎖類型 | 描述 |
---|---|
無鎖(匿名偏向) | |
偏向鎖 | 查看對象頭中的MarkWord里的線程ID是否是當前線程。 - 如果是,拿鎖執(zhí)行業(yè)務(wù) - 如果不是,CAS嘗試修改,修改他幾次,不成,再升級為輕量級鎖 |
輕量級鎖 | 查看對象頭中的MarkWord里的Lock Record指針指向的是否是當前線程的虛擬機棧。 - 如果是,拿鎖執(zhí)行業(yè)務(wù) - 如果不是,CAS嘗試修改,修改他幾次,不成,再升級到重量級鎖 |
重量級鎖 | 查看對象頭中的MarkWord里的指向的ObjectMonitor,查看owner是否是當前線程。 - 如果是,拿鎖執(zhí)行業(yè)務(wù) - 如果不是,扔到ObjectMonitor里的EntryList中,排隊,并掛起線程,等待被喚醒。 |