如何在其他线程中分配变量

时间:2018-09-24 09:04:23

标签: java multithreading

我有以下方法:

 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变量。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

由于需要返回值,因此应使用接口Callable<T>而不是Runnable。看看文档怎么说:

  

Callable接口与Runnable相似,两者都是   设计用于其实例可能由以下对象执行的类   另一个线程。但是,Runnable不返回结果并且   无法抛出已检查的异常。

请注意,Callable是通过ExecutorService提交的。