Programarea reactiva in Java. Data flow

Luxoft Training
2 min readOct 6, 2021

--

In cadrul acestui articol vom discuta despre programarea reactiva. Lectura placuta.

Data Flow

Un rol standard pentru o aplicatie este sa citeasca, sa proceseze si sa scrie date. Daca vrem ca aceste operatii sa se desfasoare asincron, ar trebui sa folosim citirea, procesarea si scrierea asincrona.

Spre exemplu, daca o functie asincrona este blocata, scriem codul:

readData.get() and blocked,
processData.get() and blocked,
writeData.get() and blocked immediately.

Si obtinem cod sincron la output. Nu este asincron si nu este usor de folosit.
Sa ne uitam la o sarcina tipica unde avem citirea asincrona a datelor si apoi vrem sa procesam datele in trei thread-uri:

Nu avem nevoie de foarte multe thread-uri pentru a astepta rezultatele citirii. Vrem doar sa obtinem datele. Aceste date ar trebui procesate, si procesarea este o sarcina consumatoare de resurse (cel putin in ceea ce priveste CPU-ul). De aceea ar fi bine ca aceasta sa fie paralelizata. Am avea ceva de genul: “Citeste datele. In momentul in care ai citit datele, proceseaza-le in trei thread-uri, apoi combina rezultatele executiei si scrie datele.” Si am vrea sa facem asta sub forma unor operatiuni asincron.

Articolul original poate sa fie citit aici.

Vrei sa inveti sa programezi cu Java sau sa iti imbunatatesti abilitatile de programare in Java? Parcurge cursurile noastre.

Originally published at https://www.luxoft-training.ro.

--

--

No responses yet