1.实现Callable接口,重写call方法,有返回值
2.通过实现Callable接口创建的线程只能在线程池中使用.
3.返回值就是run方法返回的对象
4.通过future.get()可以获取到返回的内容
实现Callable接口
/** * * @author Administrator *实现callable接口,重写call方法,存在返回值 */ public class CallableTest implements Callable<String>{ @Override public String call() throws Exception { return "ccc"; } }
创建线程池,开启线程
/** * * @author Administrator * 通过实现Callable方法创建线程 */ public class ThreadCallable { public static void main(String[] args) { try { //1.创建线程池 ExecutorService pool = Executors.newFixedThreadPool(2); //2.开启线程 Future<String> future = pool.submit(new CallableTest()); //3.获取线程的内容 System.out.println(future.get()); //4.关闭线程池 pool.shutdown(); } catch (Exception e) { // TODO: handle exception } } }