hiveInterruptils.interrupt()如何工作?
我最近一直在阅读hive的源代码,但是我被这个hiveInterruptils.interrupt()如何工作?,hive,interrupt,Hive,Interrupt,我最近一直在阅读hive的源代码,但是我被这个interrupt()弄糊涂了。我想知道它是如何中断当前配置单元命令的。此函数的位置位于CliDriver.processLine()在HIVEINTERRUPTILS的实现中,找到以下内容: public static void interrupt() { synchronized (interruptCallbacks) { for (HiveInterruptCallback resource :
interrupt()
弄糊涂了。我想知道它是如何中断当前配置单元命令的。此函数的位置位于CliDriver.processLine()
在HIVEINTERRUPTILS的实现中,找到以下内容:
public static void interrupt() {
synchronized (interruptCallbacks) {
for (HiveInterruptCallback resource :
new ArrayList<HiveInterruptCallback>(interruptCallbacks)) {
resource.interrupt();
}
}
}
以前注册的资源实现HIVEINTERRUPTCALL interrupt()方法,因此HIVEINTERRUPTILS.INTERRUP()行为取决于特定的资源实现
public interface HiveInterruptCallback {
/**
* Request interrupting of the processing
*/
void interrupt();
}