1
10
其中一个 ExecutorService.invokeAll(...) 方法接受超时参数。创建一个调用库的可调用函数,并将其作为该方法的参数包装在列表中。返回的未来表明了它是如何发展的。
|
2
7
将对库的调用放在另一个线程中,并在超时后终止此线程。这样,如果多个对象彼此不依赖,也可以同时处理它们。
这是伪代码,所以您必须改进和扩展它。此外,检查呼叫是否成功也会有帮助。
|
3
2
和
或者,您可以:
http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Thread.html#stop() “这种方法本身就不安全。停止线程Thread.stop 使它解锁它已锁定的所有监视器(这是未检查的ThreadDeath异常向堆栈上传播的自然结果)。如果以前受这些监视器保护的任何对象处于不一致的状态,则损坏的对象将对其他线程可见,从而可能导致任意行为。”
|
tgogos · Golang-按名称终止进程 7 年前 |
Tastalian · Python多处理中挂起子进程的硬杀伤 8 年前 |
Marcel · 家长的PID在循环中不起作用,导致Bash停止睡眠 8 年前 |
runner · 在linux中关闭电源时停止应用程序的Shell脚本 9 年前 |
Tomas · “For”循环并在Bash脚本中休眠 10 年前 |