javacallable源码,javalistener
Runnable和Callable的区别在于,
)1) Callable规定的方法为call (,Runnable规定的方法为run ) )。
)2) Callable任务可以在执行后返回值,但Runnable任务不能返回值
)3) call方法可以抛出异常,但不能使用run方法
)4)执行Callable任务可以获取表示异步计算结果的Future对象。 提供一种检查计算是否完成的方法,等待计算完成,检索计算结果。 计算完成后,只能使用get方法获取结果。 如果线程未运行,则Future.get ) )方法可能会阻止当前线程的执行。 如果线程发生异常,则Future.get ()为throws InterruptedException或ExecutionException; 如果线程被取消,则从CancellationException中退出。 取消由cancel方法执行。 isDone确认任务是成功完成还是取消。 计算完成后,不能取消计算。 如果使用Future进行可取消性操作但没有获得可用结果,则可以声明Future格式的类型并返回null作为基本任务的结果。 Future接口的定义如下:
全模式
在Future模式下,当请求发生时,首先在发出请求的客户端上生成Future证书。 此证书的作用类似于Proxy对象。 此外,如果客户端实际需要目标对象,则新的执行线程将继续生成目标对象,并在实际生成目标对象之后执行futted
与JDK中的Future结合使用时,可以在运行线程后将线程返回值分配给Future并返回Future对象。 这个时候,你可以马上得到这个对象,进行下一个逻辑。 但是,如果尝试获取此Future中的线程的结果,则会一直阻止到线程结束。
相当于现在的期间。 只要把手续和钱都交上来,马上就能拿到合同,但只有合同没有房子。 这个时候,你已经是有家的家人了。 你可以先买家电买装修。 但是,要装家电和装修,必须等到房子建成。