Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在不同的线程中分配变量_Java_Multithreading - Fatal编程技术网

Java 如何在不同的线程中分配变量

Java 如何在不同的线程中分配变量,java,multithreading,Java,Multithreading,我有以下方法: public boolean isMatch(List<T> sources, String captured) { boolean isMatch = false; return isMatch; } 线程应该执行一些操作。完成后,我需要将返回的布尔值赋给isMatch变量。我该怎么做 因为需要返回值,所以应该使用接口而不是Runnable。看看这些文件是怎么说的: 可调用接口类似于Runnable,因为两者都是 为其实例可能由执行的类

我有以下方法:

 public boolean isMatch(List<T> sources, String captured) {
      boolean isMatch = false;
      return isMatch;
 }

线程应该执行一些操作。完成后,我需要将返回的布尔值赋给
isMatch
变量。我该怎么做

因为需要返回值,所以应该使用接口而不是
Runnable
。看看这些文件是怎么说的:

可调用接口类似于Runnable,因为两者都是 为其实例可能由执行的类而设计 另一条线。但是,Runnable不会返回结果和 无法引发已检查的异常


请注意,
可调用的
是通过提交的

您计划如何调用该方法,如何(以及何时)将结果告知调用方?因为
isMatch
是一个局部变量,任何代码都不能从外部更改它。除此之外,
isMatch(…)
method是否仍需要基于参数计算值?@luk2302该方法在另一个方法中调用,需要布尔结果为什么要使用新线程?我会看到两种可能性:使用未来并定期检查它,或者传递一些可以调用的函数/对象以将值放置在某处。谢谢。让我调查一下,不客气!如果回答了您的问题,请将此答案标记为已接受。
Runnable r = new Runnable() {
        public void run() {
            VERIFY();
        }
    };
    Thread s = new Thread(r);
    s.start();