Ce este programarea asincronă a java-ului, un blog despre java

Ce este programarea asincronă a java-ului, un blog despre java
Modelul de programare "Asynchrony" este un caz special, bine integrat, al mai multor fire. Datorită naturii firelor, modelele cu mai multe fire necesită sisteme de notificare și depind de codul șablonului pentru a rula firele.





Apelurile asincrone sunt utilizate chiar și în medii cu un singur fir, cum ar fi NodeJS. Aproape toate interfețele utilizator acceptă execuția asincronă pentru a ține un UI într-o stare activă, receptivă de utilizator.







Cu toate acestea, programarea asincronă poate fi utilă în alte locuri decât interfețele utilizatorilor, de obicei pe partea de server. H și J2SE. nici J2EE nu a oferit o implementare "ușoară" pentru programarea asincronă.

Odată cu apariția platformei JAVA, EE 5, a fost creat un cadru de concurrency bazat pe JSR166. JSR166 a inclus numeroase utilități care nu au făcut posibilă doar programarea asincronă, ci și mai ușor și mai bine gestionate. Interfața viitoare a furnizat dezvoltatorilor o modalitate de a implementa metoda în mod asincron.

Între timp, primăvara a introdus în atenția dezvoltatorilor apeluri de metodă asincronă, activate cu adnotări. Platforma Java EE nu a inclus o astfel de soluție convenabilă până la versiunea 6. Adnotarea @Asynchronous a apărut odată cu lansarea platformei Java EE 6 și a oferit o oportunitate convenabilă pentru implementarea execuției metodei asincrone.

Programarea asincronă nu este specificată în numărul de modele de design din cartea GoF. nici în "modelele de design". Dacă ar exista, descrierea sa ar putea fi: "Oferă o metodă de apelare a metodei fără a bloca metoda de apelare".

Esența executării metodelor este de a bloca apelantul până la finalizarea executării metodei numite. Acest comportament este evident, dar destul de așteptat, dar nu întotdeauna de dorit. Aproape toate viermele de tip UI și platformele web se bazează pe interogări nonblocking.

Modelul "Asynchrony" se bazează pe abordarea "homing". când operația este efectuată în paralel sau în așa fel încât firul de execuție să nu fie blocat și rezultatul să fie verificat de îndată ce este gata. De obicei, abordarea asincronă utilizează execuția paralelă. Diagrama de clasă nu reflectă cu exactitate esența unei astfel de abordări, ar fi mai bine să o demonstrăm folosind o diagramă (Figura 1).

Ce este programarea asincronă a java-ului, un blog despre java
Fig. 1. Diagrama bloc a asincroniei







Articole similare

Trimiteți-le prietenilor: