Если я хочу обеспечить эксклюзивный доступ к объекту в Java, я могу написать что-то вроде этого:
...
Zoo zoo = findZoo();
synchronized(zoo)
{
zoo.feedAllTheAnimals();
...
}
Есть ли способ проверить, заблокирован ли объект в данный момент? Я не хочу, чтобы мой поток дождался, если другой поток обратится к zoo
. Если zoo
не заблокирован, я хочу, чтобы мой поток приобрел блокировку и выполнил блок synchronized
; Если нет, я хочу, чтобы он пропустил его.
Как я могу это сделать?