public interface Printer
| 限定符和类型 | 方法和说明 |
|---|---|
Printer |
broken()
打断
将会唤醒因
waitingForBroken()或waitingForBroken(long, TimeUnit)而被阻塞的线程 |
void |
close()
关闭输出
|
Printer |
flush()
刷盘
|
boolean |
isBroken()
是否已经被打断
|
Printer |
print(String string)
输出文本
|
Printer |
println(String string)
输出文本
|
Printer |
waitingForBroken()
挂起当前线程,等待被打断
线程挂起等待输出被打断
因为HTTP请求是短连接,所以这里为了避免线程立即返回,可以使用这个方法来阻塞当前Http请求响应线程,直至阻塞被中断
被打断过的请求无法再次被挂起等待,当曾经被调用过
broken()之后,再次调用本方法将无法阻塞当前线程
有两种场景会打断本次挂起,任何以下场景都能结束并唤醒当前被阻塞的线程
网络I/O被中断
broken()被调用
Thread.interrupt()被调用
|
boolean |
waitingForBroken(long time,
TimeUnit unit)
挂起当前线程,等待被打断或超时
waitingForBroken() |
Printer flush()
Printer waitingForBroken()
线程挂起等待输出被打断
因为HTTP请求是短连接,所以这里为了避免线程立即返回,可以使用这个方法来阻塞当前Http请求响应线程,直至阻塞被中断
被打断过的请求无法再次被挂起等待,当曾经被调用过broken()之后,再次调用本方法将无法阻塞当前线程
broken()被调用Thread.interrupt()被调用boolean waitingForBroken(long time,
TimeUnit unit)
waitingForBroken()time - 超时时间unit - 超时时间单位Printer broken()
将会唤醒因waitingForBroken()或waitingForBroken(long, TimeUnit)而被阻塞的线程
boolean isBroken()
waitingForBroken()挂起void close()
Copyright © 2019 Alibaba Open Source. All rights reserved.