JAVA并发编程学习3(自旋对于synchronized关键字的底层意义与价值分析)
JVM中的同步是基于进入与退出监视器对象(管程对象-Monitor)来实现的,每个对象实例都会有一个Monitor对象,Monitor对象会和Java对象一同创建与销毁。Monitor对象都是由C++来实现的。
当多个线程同时访问同一段代码时,这些线程会被放到一个EntryList集合中,处于阻塞状态的线程都会被放到这个列表当中。接下来,当线程获取到对象的Monitor时(Monitor是依赖于底层操作系统的mutex lock来实现互斥的),线程获取mutex成功,则会持有该mutex,这时其他线程就无
原创
2021-05-18 14:10:11 ·
72 阅读 ·
0 评论