Java 7的ForkJoinTask中get()和invoke()有什么区别?

时间:2012-04-05 02:52:17

标签: java fork java-7 executorservice fork-join

以下是javadoc

  1. get():如果需要等待计算完成,然后 检索其结果。
  2. invoke():开始执行此任务, 等待必要时完成,并返回其结果,或 抛出(未经检查的)RuntimeException或如果底层的错误 计算就这样做了。

1 个答案:

答案 0 :(得分:3)

get()支持使用Future约定完成和报告结果的可中断和/或定时等待。 方法invoke()在语义上等同于fork(); join()但总是尝试在当前线程中开始执行。