Programarea reactiva in Java. Data flow

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

Sep 7, 2021 105

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.

Data Flow.png


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:

asynchronous data reading.png


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.

Daca iti place acest articol, distribuie-l si prietenilor tai!




Mai ai intrebari?
Contacteaza-ne.
Thank you.
Your request has been received.