Почему RecursiveTask реализует Serializable в форке соединения? - PullRequest
0 голосов
/ 26 ноября 2018

Я планирую использовать Fork / Join в своем приложении, расширяя класс RecursiveTask.Я замечаю, что это Serializable.У меня есть несколько полей несериализуемых типов, которые я хочу сохранить в нем.Я мог бы сделать их кратковременными, но это сделало бы их пустыми после некоторой операции, и я не хочу этого.

Я хочу знать, почему класс RecursiveTask реализует интерфейс Serializable, поскольку я не вижунеобходимость.Кроме того, при каких обстоятельствах экземпляры класса, расширяющие его, будут сериализованы?

1 Ответ

0 голосов
/ 26 ноября 2018

RecursiveTask наследует Serializable от ForkJoinTask, и это задокументировано здесь: https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ForkJoinTask.html

ForkJoinTasks являются Serializable, что позволяет использовать их в расширениях, таких как платформы удаленного выполнения.Целесообразно сериализовать задачи только до или после, но не во время выполнения.Сериализация не используется во время самого выполнения.

...