synchronized关键字的底层原理

synchronized对象锁采用互斥的方式,让同一时刻,之多有一个秀安承获取对象锁。

他的底层是由monitor实现的,monitor是jvm级别的对象,线程获得锁需要使用对象关联monitor

在monitor内部由三个属性,分别是owner,entrylist、waitlset

其中owern是关联在获得锁的线程,并且只能关联一个线程。

entrylist关联的是竞争锁失败的处于阻塞状态的线程。

waitset是出于waiting状态的线程。

你可能感兴趣的:(java,开发语言)