IWatchKey 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
標記,表示使用 WatchService
註冊 Watchable watchable
物件。
[Android.Runtime.Register("java/nio/file/WatchKey", "", "Java.Nio.FileNio.IWatchKeyInvoker", ApiSince=26)]
public interface IWatchKey : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/nio/file/WatchKey", "", "Java.Nio.FileNio.IWatchKeyInvoker", ApiSince=26)>]
type IWatchKey = interface
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 屬性
- 實作
備註
標記,表示使用 WatchService
註冊 Watchable watchable
物件。
當可監看式物件向watch服務註冊時,就會建立watch金鑰。 金鑰會保留 #isValid valid
到: < ol >< li > 它已取消,明確叫用其 #cancel cancel
方法,或 < /li li > 以隱含方式取消,因為無法再存取物件,或 < /li ><<> li > 由 WatchService#close closing
watch服務存取。 </li >< /ol>
watch金鑰的狀態。 最初建立時,金鑰會稱為 < em > ready < /em > 。 偵測到事件時,金鑰會 < 發出訊 > 號 < /em > 並排入佇列,以便叫用watch服務的 WatchService#poll() poll
或 WatchService#take() take
方法來擷取它。 發出訊號之後,金鑰會維持在這個狀態,直到叫用其 #reset reset
方法以將金鑰傳回就緒狀態為止。 當金鑰處於訊號狀態時偵測到的事件已排入佇列,但不會讓金鑰重新排入佇列,以便從watch服務擷取。 叫用索引鍵的 #pollEvents pollEvents
方法會擷取事件。 這個方法會擷取並移除針對 物件累積的所有事件。 一開始建立時,watch索引鍵沒有擱置的事件。 當索引鍵處於指示狀態導致下列慣用語時,通常會擷取事件:
for (;;) {
// retrieve key
WatchKey key = watcher.take();
// process events
for (WatchEvent<?> event: key.pollEvents()) {
:
}
// reset the key
boolean valid = key.reset();
if (!valid) {
// object no longer registered
}
}
監看式金鑰可供多個平行線程使用。 如果有數個執行緒從watch服務擷取訊號的索引鍵,則應該小心確保 reset
只有在處理物件的事件之後才會叫用 方法。 這可確保一個執行緒隨時處理物件的事件。
已在 1.7 中新增。
的 java.nio.file.WatchKey
JAVA 檔。
此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。
屬性
Handle |
取得基礎 Android 物件的 JNI 值。 (繼承來源 IJavaObject) |
IsValid |
標記,表示使用 |
JniIdentityHashCode |
傳回已包裝實例的 值 |
JniManagedPeerState |
Managed 對等的狀態。 (繼承來源 IJavaPeerable) |
JniPeerMembers |
成員存取和調用支援。 (繼承來源 IJavaPeerable) |
PeerReference |
傳 JniObjectReference 回已包裝 JAVA 物件實例的 。 (繼承來源 IJavaPeerable) |
方法
Cancel() |
取消watch服務的註冊。 |
Disposed() |
處置實例時呼叫。 (繼承來源 IJavaPeerable) |
DisposeUnlessReferenced() |
如果這個實例沒有未完成的參考,則呼叫 |
Finalized() |
實例完成時呼叫。 (繼承來源 IJavaPeerable) |
PollEvents() |
擷取並移除這個watch索引鍵的所有擱置事件,並 |
Reset() |
重設此watch鍵。 |
SetJniIdentityHashCode(Int32) |
設定 所 |
SetJniManagedPeerState(JniManagedPeerStates) |
標記,表示使用 |
SetPeerReference(JniObjectReference) |
設定 所 |
UnregisterFromRuntime() |
取消註冊這個實例,讓執行時間不會從未來的 Java.Interop.JniRuntime+JniValueManager.PeekValue 調用傳回它。 (繼承來源 IJavaPeerable) |
Watchable() |
傳回建立這個watch索引鍵的物件。 |
擴充方法
JavaCast<TResult>(IJavaObject) |
執行 Android 執行時間檢查的類型轉換。 |
JavaCast<TResult>(IJavaObject) |
標記,表示使用 |
GetJniTypeName(IJavaPeerable) |
標記,表示使用 |