我是一个有用的助手,可以为您翻译文本。
以下是需要翻译的内容:
我有一个简单的问题,但是无法找到正确的答案。假设我们有:
public void addName(String name) {
synchronized(this) {
lastName = name;
nameCount++;
}
nameList.add(name);
}
在同步块后面的代码怎么处理呢?我的意思是,同步块用于减少锁的范围,但这里同步块后面的代码(namelist.add(name))会被阻塞,对吧?
假设线程A调用了上述函数,但它将等待“this”锁被线程B释放,因为线程B之前在某个其他方法上拥有该锁。现在,我想知道当线程A在等待“this”锁对象时,执行是否会从B的nameList.add(name)方法恢复——因为nameList.add(name)不在同步块中。