Java线程可以在持有锁的同时获取锁吗?

sgokhales:

如果线程持有,那么当该线程需要进入同一锁控制的另一个关键部分时会发生什么

b_erb:

Java中的内在锁(已同步)是可重入的,因此JVM将识别出当前线程已经持有此锁,并且它将继续进行。

有可重入的显式锁

如果锁不是可重入的,则可以例如不使用递归方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

持有锁时可以在上下文中切换线程吗?

以编程方式确定哪个Java线程持有锁

持有多重锁定的线程进入wait()状态。它会释放所有保持锁吗?

如果线程不请求锁本身,则线程可以更改java锁对象数据吗?

Java 无法获取线程锁

如果线程试图获取它已经持有的锁,会发生什么?

同时获取多个线程同步锁

互斥锁是否总是由线程持有?

如何检查Java中的sleep()方法是否持有锁?

Java线程对象锁

检查是否持有锁,如果空闲则不锁

Java:如何检查是否可以获取锁?

锁可以在锁中被垃圾回收吗?

几个线程可以在Java的同一监视器上保持锁吗?

如何检查桌上持有哪些锁

多线程互斥锁可以使用几个互斥锁吗

StampedLock.writeLock()是否释放当前线程持有的读取锁?

Condition的哪些实现不需要当前线程来持有锁?

线程如何获取互斥锁?

java强制获取锁?

我们可以在java中的一个类中有多个静态锁吗

我可以在没有任何锁的情况下从不同线程读取内存缓冲区吗?

是否有可能 2 个线程同时锁定一个互斥锁(使用互斥锁包装器)?

共享锁可以等待共享锁完成吗?

Java多线程多锁比单锁慢

如何判断当前会话是否持有锁?

如何检查谁持有我想授予的锁?

除了互斥锁或垃圾回收以外,还有哪些机制可以减慢我的多线程Java程序?

对于预分配的数组,Ruby Array#[] =线程安全吗?可以将其设为无锁吗?