Callable创建线程
这是第三种创建线程的方式
demo
class MyThread implements Callable<Integer>{ @Override public Integer call() throws Exception { System.out.println("---------welcome to call function"); //阻塞一下 try { TimeUnit.SECONDS.sleep(4); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return 2020; }} /* * 多线程中,第三种获取多线程的方式 * 1.get方法一般放在最后一行 */ public class CallableDemo { public static void main(String[] args) throws InterruptedException, ExecutionException { FutureTask<Integer> futureTask = new FutureTask(new MyThread()); new Thread(futureTask,"aa").start(); new Thread(futureTask,"bb").start(); System.out.println(Thread.currentThread().getName()+"***计算完成"); //获取call方法中的返回值 System.out.println(futureTask.get()); } /**打印只执行一个call * ---------welcome to call function main***计算完成 2020 */ }
posted on 2020-05-16 23:03 fyccaishao 阅读(167) 评论(0) 编辑 收藏 举报