ReentrantLock.IsHeldByCurrentThread Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Запросы, если эта блокировка хранится текущим потоком.
public virtual bool IsHeldByCurrentThread { [Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")] get; }
[<get: Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")>]
member this.IsHeldByCurrentThread : bool
Значение свойства
true Значение "Если текущий поток содержит эту блокировку и false в противном случае"
- Атрибуты
Комментарии
Запросы, если эта блокировка хранится текущим потоком.
Аналогично методу Thread#holdsLock(Object) встроенных блокировок мониторов, этот метод обычно используется для отладки и тестирования. Например, метод, который должен вызываться только во время блокировки, может утверждать, что это так:
{@code
class X {
final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert lock.isHeldByCurrentThread();
// ... method body
}
}}
Его также можно использовать для обеспечения того, чтобы повторная блокировка использовалась не повторно, например:
{@code
class X {
final ReentrantLock lock = new ReentrantLock();
// ...
public void m() {
assert !lock.isHeldByCurrentThread();
lock.lock();
try {
// ... method body
} finally {
lock.unlock();
}
}
}}
Java документации по java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread().
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".