Рассмотрим этот код:
public synchronized void onSignalsTimeout(List<SignalSpec> specs) {
if (specs != null && specs.size() > 0) {
for (SignalSpec spec : specs) {
ParsedCANSignal timeoutedSignal = new ParsedCANSignal();
SignalsProvider.getInstance().setSignal(spec.name, spec.parent.parent.channel, timeoutedSignal);
}
}
}
У меня есть простой вопрос: Когда Thread 1 вызывает метод onSignalsTimeout, могут ли объекты доступа Thread 2, к которым обращаются в этом методе?
Невозможно найти место, если "synchronized" блокирует только доступ к этому методу или доступ ко всем объектам, используемым в этом методе.