多线程之Callable
多线程实现Callable的好处有三点
1、Callable支持泛型
2、Callable支持返回值
3、Callable可以抛出异常
class MyThread2 implements Callable { public String name; public MyThread2(String name) { this.name = name; } @Override public Object call() throws Exception { for (int i = 0; i < 4; i++) { System.out.println("这是线程" + this.name + ":" + i); } return name + "执行完成"; } } public class ThreadDemo { public static void main(String[] args) { MyThread2 myThread1 = new MyThread2("线程A"); MyThread2 myThread2 = new MyThread2("线程B"); FutureTask futureTask1 = new FutureTask(myThread1); FutureTask futureTask2 = new FutureTask(myThread2); new Thread(futureTask1).start(); new Thread(futureTask2).start(); try { Object o1 = futureTask1.get(); System.out.println(o1); Object o2 = futureTask2.get(); System.out.println(o2); } catch (InterruptedException e) { e.printStackTrace(); } catch (ExecutionException e) { e.printStackTrace(); } } }

浙公网安备 33010602011771号