当前位置:嗨网首页>书籍在线阅读

34-结果分析

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

结果分析

当任务结束运行时,管理任务的 FutureTask 对象会调用 done() 方法。在本案例中,用实现了 Callable 接口的 ExecutableTask 类和一个 FutureTask 的子类来管理 ExecutableTask 实例对象的执行。

FutureTask 类确定了任务的返回值,并将任务状态改为 isDone 后,它会间歇性地调用 done() 方法。虽然这时不能修改任务的返回值或是状态,但是可以关闭任务使用的资源,打印日志信息或是发送通知。 FutureTask 类也可以通过只调用一次其重写的 RunnableCallable 接口的 run() 方法来确保一个指定的任务只运行一次(当运行结果可见时可以获取结果)。