我有以下方法:
public boolean isMatch(List<T> sources, String captured) {
boolean isMatch = false;
return isMatch;
}
我需要在其中启动一个新线程,如下所示:
Runnable r = new Runnable() {
public void run() {
VERIFY();
}
};
Thread s = new Thread(r);
s.start();
该线程应该执行一些操作。完成后,我需要将返回布尔值分配给isMatch
变量。我该怎么做呢?
答案 0 :(得分:1)
由于需要返回值,因此应使用接口Callable<T>
而不是Runnable
。看看文档怎么说:
Callable接口与Runnable相似,两者都是 设计用于其实例可能由以下对象执行的类 另一个线程。但是,Runnable不返回结果并且 无法抛出已检查的异常。
请注意,Callable
是通过ExecutorService
提交的。