为什么RecursiveTask在fork连接中实现Serializable?

时间:2018-11-26 13:04:45

标签: java fork-join recursivetask

我打算通过扩展RecursiveTask类在我的应用程序中使用Fork / Join。我注意到它是Serializable。我要保留一些非序列化类型的字段。我可以使它们变为瞬态,但这会使它们在进行Serde操作后变为null,而我不希望那样。

我想知道为什么RecursiveTask类将Serializable接口实现为 我认为没有必要。另外,在什么情况下扩展类的实例将被序列化?

1 个答案:

答案 0 :(得分:2)

RecursiveTask继承自ForkJoinTask的Serializable,并在此处记录:https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ForkJoinTask.html

  

ForkJoinTasks是可序列化的,这使它们可以在诸如远程执行框架的扩展中使用。仅在执行之前或之后而不是执行期间序列化任务是明智的。在执行过程中本身不依赖序列化。