我们创建线程的方式有
Thread(Runnable target, String name)
分配新的 Thread 对象。
而我们的Callable接口与Runnable接口没有关系,怎么办呢?
这是找一个与两个接口都有关系的类 FutureTask
这个类实现了Runnable,并且它有一个构造方法
FutureTask(Callable callable)
创建一个 FutureTask,一旦运行就执行给定的 Callable。
这时候就把两个接口联系起来了
get方法一般放在最后一行
主线程不耽误,如果其中有一个方法需要耗时过多,需要单独开启一个线程去计算,这时候就需要callable,最后主程序计算完,加上callable的返回值等于最后的结果。就避免了主程序执行到该方法的时候,需要一直等待该方法执行完。