Во-первых, определение
Блокировка ReentantLock наследование интерфейса, он является замок возвратный (
*
), в дополнение ко всем проделанной работы могут быть синхронизированы, но при условии , например , как
в ответ на прерывание блокировки
,
может опрашивать запрос на блокировку
,
блокировку времени
, избежавшие многопоточный методы тупиковый.
Во-вторых, основные интерфейсы
- недействительные блокировки (): Если блокировка находится в неактивном состоянии, текущий поток получить блокировку, в противном случае, если замок был проведен другим потоком, текущий поток не отключается (заблокированное состояние) до тех пор, текущий поток, чтобы получить блокировку
- булево tryLock (): Если блокировка доступна, немедленно получить блокировку и возвращает истину, иначе ложь
- аннулированию lockInterruptibly () бросить InterruptedException: в соответствии с замком () метод, но поток прерывается, он бросает исключение InterruptedException
- недействительная разблокировка (): текущий поток освобождает блокировку, и если поток не имеет блокировки, но реализация этого метода может привести к ненормальному возникновению
- булево isLocked (): Есть ли какая-нить
- ReentrantLock (): По умолчанию блокировка нечестно
- ReentrantLock (булева справедливый): Fair блокировки конфигурации / без блокировки справедливых (ложь: несправедливо замок, правда: Фаир замок)
- Состояние newCondition (): условия объекта, доступ к компоненту ждать уведомления (компонент и заблокировать текущие привязки)
- аннулируются Await () бросить InterruptedException: ждать эквивалентности класса Object () метод
- недействительный сигнал (): Объект класс эквивалентно уведомит () метод
- signalAll недействительное (): класс объекта эквивалентен notifyAll () метод