Lekce 12 - Multithreading v Javě - CompletableFuture
V minulé lekci, Multithreading v Javě - ForkJoinPool, jsme si povídali o
ForkJoinPool
.
V této lekci se seznámíme s (dle mého názoru) nejlepší třídou pro
paralelní programování, kterou nabízí základní Java Concurrency framework
- CompletableFuture
.
O pár lekcí zpět jsme si představovali různá rozhraní, která souvisí
s paralelním programováním: Runnable
, Callable
a
Future
. Rozhraní jdou pěkně za sebou s rostoucí funkcionalitou.
Rozhraní Future
jsme si popsali jako objekt, který bude někdy v
budoucnu obsahovat výsledek úkolu. Problém s tímto rozhraním je, že
nevíme, kdy výsledek bude k dispozici. Jediná možnost, jak výsledek
získat, je pomocí blokující metody get()
,
která zablokuje vlákno, ve kterém je volána. Tento neduh se vývojáři
snažili vyřešit pomocí třídy CompletableFuture
a musím
konstatovat, že se jim to povedlo výborně. Představuji vám
CompletableFuture
.
CompletableFuture
Hned na úvod musím říci, že pokud víte něco o reaktivním programování, budete tu jako doma. Případně zde můžete najít velkou podobnost s promisami z JavaScriptu.
Třída implementuje dvě rozhraní:
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Omezená nabídka: Nauč se vše a ušetři
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu se seznámíme s pokročilejšími technikami pro paralelní programování v jazyce Java. Představíme si CompletableFuture.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.