package com.zkingcai.pay; import java.util.Date; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; /** * *************************************************************************** *创建时间 : 2018年4月28日 *实现功能 : 实现Callable,创建有返回值的任务 *作者 : sxl *版本 : v0.0.1 ----------------------------------------------------------------------------- *修改记录: *日 期 版本 修改人 修改内容 *2018年4月28日 v0.0.1 sxl 创建 **************************************************************************** */ class MyCallable implements Callable<String>{ @Override public String call() throws Exception { Date time1 = new Date(); Thread.sleep(1000); Date time2 = new Date(); return Thread.currentThread().getName() + "运行了" + (time2.getTime() - time1.getTime()) + "毫秒"; } } /** * *************************************************************************** *创建时间 : 2018年4月28日 *实现功能 : 获取线程池,执行线程,返回结果 *作者 : sxl *版本 : v0.0.1 ----------------------------------------------------------------------------- *修改记录: *日 期 版本 修改人 修改内容 *2018年4月28日 v0.0.1 sxl 创建 **************************************************************************** */ public class ThreadDemo { public static void main(String[] args) throws InterruptedException, ExecutionException { // 获取线程池 ExecutorService newFixedThreadPool = Executors.newFixedThreadPool(1); // 创建任务 MyCallable myCallable = new MyCallable(); // 执行任务 Future<String> future = newFixedThreadPool.submit(myCallable); // 获取返回值 String result = future.get(); System.out.println(result); } }
返回的结果