Java基础之多线程 Thread 线程 如何获取返回值

    技术2026-08-26  9

    Runnable没有办法获取执行结果,可以使用Callable。

    第一步、实现接口

    class CallableTest implements Callable<String>{

        @Override     public String call() throws Exception {         Thread.sleep(1000*5);         String str = "hello callable";         System.out.println("call :" + str);         return str;     }      }

    第二步、在main方法调用

            CallableTest callable = new CallableTest();         FutureTask<String> future = new FutureTask<String>(callable);         Thread thread2 = new Thread(future);         thread2.start();

    第三步、通过FutureTask获取返回数据

            try {             String str = future.get();             System.out.println("get:" + str);         } catch (InterruptedException e) {             // TODO Auto-generated catch block             e.printStackTrace();         } catch (ExecutionException e) {             // TODO Auto-generated catch block             e.printStackTrace();         }

    Processed: 0.008, SQL: 9