Java 21 : une concurrence améliorée grâce aux valeurs délimitées

Par:
fredericmazue

jeu, 22/06/2023 - 13:45

Les valeurs délimitées, ou Scoped values, ont été intégrées à Java 21 qui sortira en version finale au mois de septembre de cette année. Les valeurs délimitées provient du projet Loom, tout comme les threads virtuels et la concurrence structurée. Java 21 intègre les valeurs délimitées en prévisualisation seulement.

Les valeurs délimitées permettent le partage de données immuables au sein et entre les threads. Elles sont préférables aux variables locales de thread, en particulier lors de l'utilisation d'un grand nombre de threads virtuels.

Une valeur délimitée se comporte comme un paramètre supplémentaire de méthode dans la séquence d'appels, mais la méthode ne déclare pas ce paramètre. Seules les méthodes qui ont accès à l'objet ScopedValue peuvent récupérer sa valeur, qui encapsule les données transmises.

Les valeurs délimitées sont décrites techniquement en détail dans JEP 446