public interface WatchService extends Closeable
一个Watchable
对象是通过调用其方法register
手表服务注册,返回一个WatchKey
代表注册。当某个对象的事件检测的关键信号,如果没有信号,这是排队观看服务,则可以通过消费者调用poll
或take
方法检索键和处理事件。一旦事件已处理消费者调用关键的reset
方法重置键可发出信号并重新排队进一步事件的关键。
一个手表服务注册是通过调用关键的cancel
方法取消。一个键,在它被取消的时间在队列中保持在队列中,直到检索到它为止。根据对象,一个键可以自动取消。例如,假设一个目录被监视,而监视服务检测到它已被删除或它的文件系统不再访问。当一个键被取消,以这种方式,它是信号和排队,如果没有目前的信号。为确保消费者通知返回值从reset
方法表明如果是有效的。
手表服务是安全的,使用多个并发的消费者。确保只有一个消费过程的事件为一个特定的对象,在任何时间,并应注意确保关键的reset
方法只被调用后,事件已处理。的close
方法可以在任何时候调用关闭造成任何线程等待取回钥匙的服务,把ClosedWatchServiceException
。
文件系统可以更快地报告事件比它们可以被检索或处理和实现可能会对它可能积累的事件的数量施加一个未指定的限制。在一个实施故意丢弃事件,然后安排关键的pollEvents
方法返回与OVERFLOW
事件类型的一个元素。这个事件可以由消费者作为一个触发重新审视对象的状态。
当一个事件被报告表明在一个被监视的目录中的文件被修改,那么有没有保证的程序(或程序),已修改的文件已经完成。应注意协调与可能更新文件的其他程序的访问权限。类定义的FileChannel
锁定与其他程序访问文件区域的方法。
从文件系统中观察事件的实现,目的是直接映射到可用的本地文件事件通知设施,或使用一个原始的机制,如轮询,当一个本地设备不可用。因此,许多事件是如何被检测的细节,他们的及时性,以及他们的顺序是否被保存是高度实施的具体。例如,当在看目录修改文件时就可能导致一个ENTRY_MODIFY
事件在一些实现中的几个事件,但是其他的实现。短寿命的文件(指被创建后很快被删除的文件)可能不会被原始的实现,定期轮询的文件系统检测到的变化。
如果一个监视文件不位于本地存储设备上,则它是实现特定的,如果对文件的更改可以被检测到。特别是,它不需要进行远程系统上的文件的更改进行检测。
FileSystem.newWatchService()
void close() throws IOException
如果一个线程当前被阻塞在take
或poll
方法等进行排队,然后立即接收ClosedWatchServiceException
关键。任何与此相关的有效键invalidated
看服务。
在看服务是封闭的,任何试图调用操作上会把ClosedWatchServiceException
。如果此表服务已关闭,则调用此方法没有任何效果。
close
接口
AutoCloseable
close
接口
Closeable
IOException
如果I/O错误发生
WatchKey poll()
null
。
null
ClosedWatchServiceException
-如果这手表服务关闭
WatchKey poll(long timeout, TimeUnit unit) throws InterruptedException
timeout
-如何在放弃之前等待,在单位的单位
unit
-
TimeUnit
确定如何解释超时参数
null
ClosedWatchServiceException
-如果这手表服务关闭,或是关闭,等待下一次按键
InterruptedException
如果中断等待
WatchKey take() throws InterruptedException
ClosedWatchServiceException
-如果这手表服务关闭,或是关闭,等待下一次按键
InterruptedException
如果中断等待
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.