多线程——Future,Runnable,Callable,FutureTask

Runnable接口是常规的线程接口,线程执行的业务逻辑主体放在 其void Run()方法里面,继承此接口实现此方法。

Callable接口也是一个常规接口,线程执行的业务逻辑主体放在 其v Call()方法里面,只不过这个方法有返回值V(泛型),也可以抛出异常,

FutureTask 实现了RunnableFuture接口,而RunnableFuture又继承了Runnable 和Future接口,FutureTask可以直接将实现了Runnable和Callable接口的对象封装成FutureTask对象。从而调用FutureTask对象的方法。

Future接口内容如下主要是对具体的Runnable或者Callable对象任务执行的结果进行获取(get()),取消(cancel()),判断是否完成等操作

  1. public interface Future<V> {  
  2.     boolean cancel(boolean mayInterruptIfRunning);  
  3.     boolean isCancelled();  
  4.     boolean isDone();  
  5.     V get() throws InterruptedException, ExecutionException;  
  6.     V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException;  

猜你喜欢

转载自blog.csdn.net/qq_15022971/article/details/79095955