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

18-结果分析

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

结果分析

本节讲述了如何提交一个任务列表给执行器,并调用 invokeAll() 方法等待全部任务执行完成。该方法接收一个 Callable 对象列表作为参数,返回一个 Future 对象列表。在列表中,每个任务都对应着一个 Future 对象。

Future 列表中的第一个 Future 对象对应着 Callable 列表中的第一个任务,第二个 Future 对象对应着第二个任务,以此类推。其中重要一点在于,声明一个列表来存储返回结果时,列表中的 Future 对象需要根据方法传入的 Callable 对象的泛型,来确定 Future 接口的泛型类型。在本案例中,两者的泛型类型都是 Result 类。

invokeAll() 方法的另外一个重点在于,使用 Future 对象只是为了获取任务的返回结果。当所有任务都执行完毕后该方法结束。如果尝试调用返回 Future 对象的 isDone() 方法,则所有调用都会返回 true