callable

runable可以看做是异步的没参数没返回值的一个线程任务,


Callable与Runnable累世 但是有返回值,它有个参数化泛型方法call是返回值的类型。


Future保存异步计算的结果,可以启动一个计算 future对象交给某个对象,然后忘掉它,

 

在计算好后可以获得结果。

 

Future接口有以下方法:

public interface Futere<v>
{
     v get() throws
     v  get(timeout:long,uit:timeUtil)
     cance(): void
     isCance();
     isDone();
}

  

 

他们的作用从名字就可以看出来,

 

FutureTask 是以个包装器,可以将CallAble 和Future包装起来,实现runnable接口和future接口。

FutureTask<String> task = new FutureTask<String>(
			new Callable<String>() {
			 public String call() throws Exception {
			  return "just test!";
			}
			  });
new Thread(task).start();
System.out.println(task.get());

 

 

 

你可能感兴趣的:(thread)