模块 jdk.jdi

接口 MonitorWaitedRequest

所有父级接口:
EventRequest , Mirror

public interface MonitorWaitedRequest extends EventRequest
当目标 VM 中的线程完成对监视器对象的等待时请求通知。也就是说,一个线程正在离开 Object.wait()。 “当启用的 MonitorWaitedRequest 得到满足时,包含 MonitorWaitedEvent event set 将被放置在 EventQueue 上。现有 MonitorWaitedEvents 的集合由 EventRequestManager 管理
自从:
1.6
参见:
  • 方法详情

    • addThreadFilter

      void addThreadFilter(ThreadReference  thread)
      将此请求生成的事件限制为给定线程中的事件。
      参数:
      thread - 要过滤的线程。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addClassFilter

      void addClassFilter(ReferenceType  refType)
      将此请求生成的事件限制为那些其监视器对象属于给定引用类型或其任何子类型的事件。
      参数:
      refType - 要过滤的引用类型。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addClassFilter

      void addClassFilter(String  classPattern)
      将此请求生成的事件限制为监视器对象的类名称与此受限正则表达式匹配的事件。正则表达式仅限于以'*'开头或以'*'结尾的精确匹配和模式;例如,“*.Foo”或“java.*”。
      参数:
      classPattern - 要过滤的模式字符串。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addClassExclusionFilter

      void addClassExclusionFilter(String  classPattern)
      将此请求生成的事件限制为监视器对象的类名不包含的事件not匹配此受限制的正则表达式,例如“java.*”或“*.Foo”。
      参数:
      classPattern - 要过滤的模式字符串。
      抛出:
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。
    • addInstanceFilter

      void addInstanceFilter(ObjectReference  instance)
      将此请求生成的事件限制为当前正在执行的实例(“this”)是指定对象的事件。

      并非所有目标都支持此操作。使用 VirtualMachine.canUseInstanceFilters() 确定是否支持该操作。

      参数:
      instance - 必须是当前实例才能通过此过滤器的对象。
      抛出:
      UnsupportedOperationException - 如果目标虚拟机不支持此操作。
      InvalidRequestStateException - 如果此请求当前已启用或已被删除。过滤器只能添加到禁用的请求。