Возможно ли планировщику потока отменить планирование потока, удерживающего блокировку в синхронизированном блоке и находящегося в середине его выполнения? Если да, то приводит ли незапланированное выполнение к потоку освобождения блокировки? Предположим, что поток не вызывает метод, такой как wait/yield
и т. Д.
Я пытался понять, как синхронизированный блок помогает в операции чтения-обновления-записи ? Если поток, который входит в синхронизированный блок, не может быть незапланированным, то это легче понять, но если это возможно, тогда возникает проблема видимости, как это может быть в случае, когда переменная была обновлена, но не записана в основную память потоком и планировщик потока отменяет его планирование, а другой поток получает блокировку и обновляет переменную в основной памяти.
Есть ли информация? в JLS по поводу того же?