ReentrantLock.IsHeldByCurrentThread Properti

Definisi

Kueri jika kunci ini dipegang oleh utas saat ini.

public virtual bool IsHeldByCurrentThread { [Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")] get; }
[<get: Android.Runtime.Register("isHeldByCurrentThread", "()Z", "GetIsHeldByCurrentThreadHandler")>]
member this.IsHeldByCurrentThread : bool

Nilai Properti

true jika utas saat ini memegang kunci ini dan false sebaliknya

Atribut

Keterangan

Kueri jika kunci ini dipegang oleh utas saat ini.

Analog dengan Thread#holdsLock(Object) metode untuk kunci monitor bawaan, metode ini biasanya digunakan untuk penelusuran kesalahan dan pengujian. Misalnya, metode yang hanya boleh dipanggil saat kunci ditahan dapat menegaskan bahwa ini adalah kasusnya:

{@code
            class X {
              final ReentrantLock lock = new ReentrantLock();
              // ...

              public void m() {
                  assert lock.isHeldByCurrentThread();
                  // ... method body
              }
            }}

Ini juga dapat digunakan untuk memastikan bahwa kunci masuk kembali digunakan dengan cara yang tidak masuk kembali, misalnya:

{@code
            class X {
              final ReentrantLock lock = new ReentrantLock();
              // ...

              public void m() {
                  assert !lock.isHeldByCurrentThread();
                  lock.lock();
                  try {
                      // ... method body
                  } finally {
                      lock.unlock();
                  }
              }
            }}

Java dokumentasi untuk java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread().

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Berlaku untuk