Я просмотрел всю документацию java по операторам synchronized
в поисках ответа на этот вопрос, но безуспешно.
Скажем, у меня есть thread1
, thread2
, thread3
, пытающиеся запустить следующий код одновременно.
synchronized(lockObj) {
doSomething();
}
Предположим, что thread1
сначала переходит к doSomething()
, thread2
, а затем к thread3
, что заблокирует и будет ожидать оператора synchronized
.
Вопрос
thread1
снимает блокировку, какой из потоков будет освобожден первым?