FutureTask永远不会完成



在下面的代码中,if循环没有被执行。在futureTask1和2完成之前,将执行下一行代码。而且,程序永远不会终止。我的错误在哪里?

    ExecutorService executor=Executors.newFixedThreadPool(2);
    MyClass1 myclass1= new MyClass1(x,y);
    MyClass2 myclass2= new MyClass2(x,y);
    FutureTask<List<String>> futureTask1 = new FutureTask<List<String>>(myclass1);
    FutureTask<List<String>> futureTask2 = new FutureTask<List<String>>(myclass2);
    executor.submit(futureTask1);
    executor.submit(futureTask2);
    System.out.println("FutureTask completed");
    if(futureTask1.isDone() && futureTask2.isDone()){
        System.out.println("Done");
        //shut down executor service
        executor.shutdown();
        //Execute some code
        return;
    }

您正在将任务提交给执行器,但我没有看到任何等待执行器完成任务的代码。executor.submit()应该返回一个Future,您可以使用它来等待您的任务。

相关内容

  • 没有找到相关文章

最新更新