У меня есть два потока Thread1
и Thread2
//Within Thread1
synchronized(obj1)
{
obj1 = null;
}
//Within Thread2
synchronized(obj1)
{
do something
}
Если jvm сначала выполняет thread1 и устанавливает obj1 в значение null, то thread2 видит это изменение немедленно или ему потребуется время, а jvm все равно может запустить синхронизированный блок thread2, поскольку obj1 еще не null?