【发布时间】:2012-11-28 10:16:50
【问题描述】:
我有一个Worker 类implements Runnable 和一个run() 方法,它可能会在发生冲突时引发异常并提前返回。当它发生时,该线程需要放回队列中才能再次运行。
通过查看this 问题,看来我需要用Callable 重写。那是对的吗? Runnable 没有办法做到这一点?
【问题讨论】:
-
我已经读过了。它列出了方法和类型,但没有给出任何示例或说明使用 Runnables 处理异常的任何内容。我将问题编辑为更清楚。
-
你也可以看看this
-
您是否担心抛出未捕获的运行时异常的
Runnable不会返回到池中? -
我的
run()方法的一部分涉及到这个:try{//thingThatThrowsException}catch (TransactionAbortException e){return;}恐怕是的,如果它返回这里,Runnable 将无法完成它的工作。
标签: java multithreading exception-handling