ReentrantReadWriteLock.ReentrantReadLock.LockInterruptibly 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
除非目前執行緒被 Thread#interrupt 中斷,否則會取得讀取鎖。
[Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler")]
public virtual void LockInterruptibly();
[<Android.Runtime.Register("lockInterruptibly", "()V", "GetLockInterruptiblyHandler")>]
abstract member LockInterruptibly : unit -> unit
override this.LockInterruptibly : unit -> unit
實作
- 屬性
例外狀況
如果目前執行緒被中斷
備註
除非目前執行緒被 Thread#interrupt 中斷,否則會取得讀取鎖。
若寫鎖未被其他執行緒持有,則取得該讀取鎖並立即回傳。
如果寫入鎖被其他執行緒持有,則目前執行緒將因排程而被停用,並處於休眠狀態,直到以下兩種情況之一發生:
<UL>
<li>讀取鎖由當前執行緒取得;或
<li>某個其他執行緒 Thread#interrupt 會中斷目前執行緒。
</ul>
如果目前的討論串:
<UL>
<LI>在其進入此方法時設定為中斷狀態;或
<li>是 Thread#interrupt 在取得讀取鎖時被中斷,
</ul>
接著 InterruptedException 拋出,當前執行緒的中斷狀態被清除。
在此實作中,由於此方法為明確的中斷點,優先回應中斷而非正常或重入鎖定。
的 java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock.lockInterruptibly()Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。