IWatchKey 接口

定义

一个标记,表示使用 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 closingwatch服务。 </li></ol>

watch键具有状态。 最初创建时,密钥称为 <em>ready</em>。 当检测到事件时,密钥将<作为 em>signalled</em> 并排队,以便可以通过调用watch服务的 WatchService#poll() pollWatchService#take() take 方法来检索它。 发出信号后,密钥将一直处于此状态,直到调用其 #reset reset 方法将密钥返回到就绪状态。 当密钥处于信号状态时检测到的事件已排队,但不会导致密钥重新排队,以便从watch服务中检索。 事件是通过调用密钥的 方法检索的 #pollEvents pollEvents 。 此方法检索并删除对象累积的所有事件。 最初创建时,watch键没有挂起的事件。 通常,当密钥处于导致以下成语的信号状态时,会检索事件:

for (;;) {
                    // retrieve key
                    WatchKey key = watcher.take();

                    // process events
                    for (WatchEvent&lt;?&gt; event: key.pollEvents()) {
                        :
                    }

                    // reset the key
                    boolean valid = key.reset();
                    if (!valid) {
                        // object no longer registered
                    }
                }

监视键可以安全地由多个并发线程使用。 如果有多个线程从watch服务检索信号密钥,则应小心确保reset仅在处理对象的事件后调用方法。 这可确保一个线程随时处理对象的事件。

在 1.7 中添加。

java.nio.file.WatchKeyJava 文档。

此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。

属性

Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
IsValid

一个标记,表示使用 WatchService注册Watchable watchable对象。

JniIdentityHashCode

返回包装实例的 的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例的 。

(继承自 IJavaPeerable)

方法

Cancel()

取消watch服务的注册。

Disposed()

释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则,不执行任何操作。

(继承自 IJavaPeerable)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
PollEvents()

检索并删除此watch键的所有挂起事件,返回List检索到的事件的 。

Reset()

重置此watch密钥。

SetJniIdentityHashCode(Int32)

设置 返回 JniIdentityHashCode的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

一个标记,表示使用 WatchService注册Watchable watchable对象。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置 返回 PeerReference的值。

(继承自 IJavaPeerable)
UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)
Watchable()

返回为其创建了此watch键的对象。

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

一个标记,表示使用 WatchService注册Watchable watchable对象。

GetJniTypeName(IJavaPeerable)

一个标记,表示使用 WatchService注册Watchable watchable对象。

适用于