java - 以下情况会导致死锁吗?

标签 java multithreading

假设当前线程持有锁,那么同一个线程调用

synchronize(lock)

再说一遍,会发生死锁吗?

我依稀记得锁对于同一个线程是可重入的,什么意思?

最佳答案

来自documentation :

Thread cannot acquire a lock owned by another thread. But a thread can acquire a lock that it already owns. Allowing a thread to acquire the same lock more than once enables reentrant synchronization. This describes a situation where synchronized code, directly or indirectly, invokes a method that also contains synchronized code, and both sets of code use the same lock.

关于java - 以下情况会导致死锁吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10967866/

相关文章:

java - Java 中集合的 size() 的时间复杂度是多少?

java - Spring @Resource 期望至少有 1 个有资格作为此依赖项的 Autowiring 候选者的 bean

java - java中的多线程持久队列

java - 如何将 ArrayList 转换为多维数组?

java - 使用扫描仪或正则表达式java分割字符串

java - Maven "checkstyle:checkstyle"始终默认为 "sun_checks.xml"与内联 checkstyle 配置

sql - Grails 服务中的数据源注入(inject)

python - 从另一个线程检查主线程是否还活着

C++11 原子:std::memory_order 代码可移植吗?

c++ - 串行端口线程的 CPU 消耗