Как создать подкласс CompletableFuture? ⇐ JAVA
-
Гость
Как создать подкласс CompletableFuture?
Я хотел бы создать подкласс CompletableFuture, чтобы переопределить Executor по умолчанию. То есть, если пользователь вызывает метод без указания Executor, я хочу, чтобы использовался мой собственный Executor вместо того, который обычно используется CompletableFuture. >.
Javadoc намекает на возможность создания подклассов:
Все методы CompletionStage реализуются независимо от других общедоступных методов, поэтому на поведение одного метода не влияют переопределения других в подклассах.
Как мне реализовать статические методы, такие как CompletableFuture.supplyAsync(), в подклассе, если базовая реализация зависит от таких методов, как internalComplete(), которые являются частными для пакета ?
Как можно создать подкласс CompletableFuture?
Что я пытаюсь сделать...
Мой пользовательский код должен асинхронно выполнять несколько задач с использованием одного и того же исполнителя. Например: CompletableFuture.supplyAsync(..., исполнитель).thenApplyAsync(..., исполнитель).thenApplyAsync(..., исполнитель). Я бы хотел, чтобы пользовательская реализация CompletableFuture использовала первый исполнитель во всех последующих вызовах.
Я хотел бы создать подкласс CompletableFuture, чтобы переопределить Executor по умолчанию. То есть, если пользователь вызывает метод без указания Executor, я хочу, чтобы использовался мой собственный Executor вместо того, который обычно используется CompletableFuture. >.
Javadoc намекает на возможность создания подклассов:
Все методы CompletionStage реализуются независимо от других общедоступных методов, поэтому на поведение одного метода не влияют переопределения других в подклассах.
Как мне реализовать статические методы, такие как CompletableFuture.supplyAsync(), в подклассе, если базовая реализация зависит от таких методов, как internalComplete(), которые являются частными для пакета ?
Как можно создать подкласс CompletableFuture?
Что я пытаюсь сделать...
Мой пользовательский код должен асинхронно выполнять несколько задач с использованием одного и того же исполнителя. Например: CompletableFuture.supplyAsync(..., исполнитель).thenApplyAsync(..., исполнитель).thenApplyAsync(..., исполнитель). Я бы хотел, чтобы пользовательская реализация CompletableFuture использовала первый исполнитель во всех последующих вызовах.
Мобильная версия