Class AsyncTimeout

java.lang.Object
org.miaixz.bus.core.io.timout.Timeout
org.miaixz.bus.core.io.timout.AsyncTimeout

public class AsyncTimeout extends Timeout
此超时使用后台线程在超时发生时精确地执行操作 用它来 在本地不支持超时的地方实现超时,例如对阻塞的套接字操作.
Since:
Java 17+
Author:
Kimi Liu
  • Constructor Details

    • AsyncTimeout

      public AsyncTimeout()
  • Method Details

    • enter

      public final void enter()
    • exit

      public final boolean exit()
      如果发生超时则返回 true
      Returns:
      the true/false
    • timedOut

      protected void timedOut()
      当调用 enter()exit() 之间的时间超出超时时,由守护线程调用。
    • sink

      public final Sink sink(Sink sink)
      返回一个委托给 sink 的新接收器,使用它来实现超时。 如果覆盖 timedOut() 以中断 sink 的当前操作,则效果最佳。
    • source

      public final Source source(Source source)
      返回一个委托给 source 的新源,使用它来实现超时。 如果覆盖 timedOut() 以中断 sink 的当前操作,则效果最佳。
    • newTimeoutException

      protected IOException newTimeoutException(IOException cause)
      返回一个 IOException 来表示超时。默认情况下,此方法返回 InterruptedIOException。 如果 cause 非空,则将其设置为返回异常的原因。