Java学习之FutureTask类的作用及相关接口
1.FutureTask类的作用
可取消异步计算。此类提供了Future
的基本实现,包括开始和取消计算的方法,查询计算是否完整,并检索计算结果。只有在计算完成后才能检索结果;如果计算尚未完成,get
方法将阻止。计算完成后,计算将无法重新启动或取消(除非使用runAndReset()
调用计算)。
2.Runnable接口
Runnable
接口应由实例打算由线程执行的任何类实现。类必须定义一个没有参数的方法,称为run
。
此接口旨在为希望在活动期间执行代码的对象提供通用协议。例如,Runnable
由类Thread
实现。活跃只是意味着线程已经启动,但尚未停止。
3.Future接口
FutureTask
类是实现Runnable``Future
实现,因此可以由Executor
执行。
异步计算在另一个线程中遵循相应Future.get()
的操作之前发生的操作。
4.RunnableFuture
一个RunnableFuture
。成功执行run
方法会导致Future
完成,并允许访问其结果。