Nested synchronized keyword(嵌套同步关键字)
本文介绍了嵌套同步关键字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我在 Java 中有这段代码:
I have this code in Java:
public void doSomeThing() {
synchronized (this) {
doSomeThingElse();
}
}
public void doSomeThingElse() {
synchronized (this) {
// do something else
}
}
这个代码可以阻塞吗?我的意思是,这段代码可以一直等待吗?
Can this code block? I mean, Can this code wait for ever?
推荐答案
作为 java 文档描述 可重入锁定:
一个线程可以获取一个锁已经拥有
a thread can acquire a lock that it already owns
第二个同步块使用相同的锁,因此将始终可用,因为该锁已在外部方法中获取.
The second synchronized block is using the same lock and thus will always be useable as the lock has already been aquired in the outer method.
不,不会出现死锁.
这篇关于嵌套同步关键字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
织梦狗教程
本文标题为:嵌套同步关键字
基础教程推荐
猜你喜欢
- Struts2 URL 无法访问 2022-01-01
- 无法复制:“比较方法违反了它的一般约定!" 2022-01-01
- 使用堆栈算法进行括号/括号匹配 2022-01-01
- Spring AOP错误无法懒惰地为此建议构建thisJoinPoin 2022-09-13
- RabbitMQ:消息保持“未确认"; 2022-01-01
- 问题http://apache.org/xml/features/xinclude测试日志4j 2 2022-01-01
- 存储 20 位数字的数据类型 2022-01-01
- REST Web 服务返回 415 - 不支持的媒体类型 2022-01-01
- 修改 void 函数的输入参数,然后读取 2022-01-01
- 如何对 Java Hashmap 中的值求和 2022-01-01
