Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java Concurrency verbeteren: Belangrijke verbeteringen aan de CompletableFuture API

De CompletableFuture-klasse werd in Java 8 geïntroduceerd om een Future te vertegenwoordigen die door het instellen van waarde en status expliciet voltooid kan worden. Het kan gebruikt worden als java.util.concurrent.CompletionStage. Het ondersteunt afhankelijke functies en acties die getriggerd worden bij voltooiing. In Java 9 is de CompletableFuture API verder verbeterd. De relevante wijzigingen:

  • Ondersteuning voor vertragingen en timeouts.
  • Verbeterde ondersteuning voor subclassing.
  • Nieuwe factory-methodes.

Ondersteuning voor vertragingen en timeouts

public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)

Deze methode voltooit de CompletableFuture met de gegeven waarde als deze niet anders voltooid is voordat de timeout verstreken is.

public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)

Deze methode voltooit de CompletableFuture uitzonderlijk met een TimeoutException als deze niet anders voltooid is voor de timeout.

Verbeterde ondersteuning voor subclassing

public Executor defaultExecutor()

Retourneert de standaard Executor voor asynchrone methodes die geen Executor specificeren. Deze methode kan in subclasses geoverride worden om een Executor terug te geven die minstens één onafhankelijke thread garandeert.

public <U> CompletableFuture<U> newIncompleteFuture()

Retourneert een nieuwe onvoltooide CompletableFuture van het type dat door een CompletionStage-methode geretourneerd wordt. Subclasses van CompletableFuture moeten deze methode overriden om een instantie van dezelfde klasse terug te geven. De standaardimplementatie retourneert een CompletableFuture-instantie.

Nieuwe factory-methodes

public static <U> CompletableFuture<U> completedFuture(U value)

Deze factory-methode retourneert een nieuwe CompletableFuture die al voltooid is met de gegeven waarde.

public static <U> CompletionStage<U> completedStage(U value)

Retourneert een nieuwe CompletionStage die al voltooid is met de gegeven waarde en alleen de methodes uit de CompletionStage-interface ondersteunt.

public static <U> CompletionStage<U> failedStage(Throwable ex)

Retourneert een nieuwe CompletionStage die al uitzonderlijk voltooid is met de gegeven exception en alleen de methodes uit CompletionStage ondersteunt.

Java

  1. Blauwdruk voor Verbeterde Apparatuur-Betrouwbaarheid: Een Gestructureerd 5-Stappen Plan
  2. Allegheny Power Investeert $156M in Betrouwbaarheidsupgrades in West Virginia
  3. Uw CMMS-functionaliteit Uitbreiden met Onze Robuuste API
  4. Een robuuste temperatuur- en sensor-API bouwen op Raspberry Pi met de GY-91-module
  5. Zes Sleutelinnovaties die Cryptografische Hardwareprestaties Boosten
  6. Java 9 (JDK 9) – Belangrijkste kenmerken & voordelen
  7. Java 9 Process API: Belangrijkste verbeteringen & nieuwe features
  8. Java 9 Stream API-verbeteringen: takeWhile, dropWhile, iterate, ofNullable
  9. Java 9: Nieuwe features voor de Optional-klasse
  10. Java 9 Multi-Resolution Image API: Responsive Graphics vereenvoudigen
  11. Java Concurrency verbeteren: Belangrijke verbeteringen aan de CompletableFuture API