JavaGuide icon indicating copy to clipboard operation
JavaGuide copied to clipboard

2020最新Java并发进阶常见面试题总结.md 语言逻辑是否不清楚

Open Aaron-Ge opened this issue 4 years ago • 2 comments

_在执行monitorenter时,会尝试获取对象的锁,如果锁的计数器为 0 则表示锁可以被获取,获取后将锁计数器设为 1 也就是加 1。

在执行 monitorexit 指令后,将锁计数器设为 0,表明锁被释放。如果获取对象锁失败,那当前线程就要阻塞等待,直到锁被另外一个线程释放为止。_

在第二段话后补的_如果获取对象锁失败,那当前线程就要阻塞等待,直到锁被另外一个线程释放为止。_ 是否应该放到第一段获取锁的描述后面?

Aaron-Ge avatar Sep 23 '21 13:09 Aaron-Ge

只是感觉这样的表述方式 是否有点奇怪

Aaron-Ge avatar Sep 23 '21 13:09 Aaron-Ge

"比如我们在同一个线程中声明了两个 ThreadLocal 对象的话,会使用 Thread内部都是使用仅有那个ThreadLocalMap 存放数据的,ThreadLocalMap的 key 就是 ThreadLocal对象,value 就是 ThreadLocal 对象调用set方法设置的值。" 中的 "会使用 Thread内部都是使用仅有那个ThreadLocalMap 存放数据的" 这是想表达,如果有多个ThreadLocal 对象,在Thread对象内部是存在同一个ThreadLocalMap 中的意思吗?感觉这个描述很拗口

Aaron-Ge avatar Sep 26 '21 01:09 Aaron-Ge