У меня есть класс, который служит делегатом другому.
public class Delegate {
private AnotherClass ac;
public void delegateCall() {
this.ac.actualCall();
}
public void setAC(AnotherClass ac) {
this.ac = ac;
}
}
Каковы последствия, если у меня много потоков, вызывающих delegateCall()
, а другой поток вызывает setAC()
? Я предполагаю, что некоторые потоки, вызывающие delegateCall()
, получат доступ к экземпляру ac до его установки, а некоторые - к нему после его установки. В моем конкретном приложении не имеет значения, какой экземпляр получает каждый поток.
Мой вопрос: существует ли какая-либо базовая синхронизация, которая может происходить в JVM, что может привести к блокировке потоков, вызывающих DelegateCall ()?