Sincronă vs asincronă
Sincron și asincron sunt două cuvinte mari care par a fi intimidante, dar sunt destul de simple. Sincron înseamnă pur și simplu că toate evenimentele au loc într-o anumită ordine de timp care poate fi prezisă. Un anumit eveniment ar urma întotdeauna altul și nu poate fi schimbat. Asynchronous este opusul sincron. În procesele asincrone, nu există o comandă de timp. Anumite evenimente pot, și adesea fac, schimbă. Un exemplu excelent sincron este muzica. Fiecare instrument participant trebuie să fie în ritm cu ceilalți sau altfel muzica nu va suna corect. Pentru asincrone, un bun exemplu ar fi traficul. Vehiculele se mișcă la viteze diferite și este comun ca unul să se deplaseze pe lângă altul.
În majoritatea aplicațiilor, funcționarea sincronă este esențială deoarece o operațiune asincronă ar însemna literalmente haos. Exemple sunt căile ferate și aeroporturile. În aceste scenarii, este important să știți care vehicul merge mai întâi pentru a evita coliziunile. Ordinea lucrurilor este planificată cu grijă pentru a facilita un flux neted și schimbările planului sunt puține și foarte lungi.
Cu toate că operarea sincronă este adesea preferată, există anumite cazuri în care nu este necesară. Există chiar cazuri în care funcționarea sincronă poate fi în detrimentul obiectivului. Un exemplu în care funcționarea sincronă nu este cu adevărat necesară este în navigarea pe Internet. Înainte de AJAX (Asynchronous Javascript și XML) majoritatea paginilor web trebuie să fie reîncărcate în întregime pentru a schimba informațiile dintr-o secțiune mică. Cu AJAX, acum este posibil să actualizăm acea secțiune în timp ce părăsim restul paginii neatinse. Acest lucru este benefic deoarece o cantitate mai mică de date trebuie transmisă și utilizatorul nu trebuie să îndure prin întreaga pagină răcoritoare. AJAX este asincron, deoarece actualizările paginilor nu mai sunt sincronizate.
În operațiunile de calculator, I / O este o zonă în care funcționarea sincronă devine dezavantajoasă. Operația sincronă în acest sens înseamnă că procesorul trebuie să aștepte ca datele să fie scrise sau citite înainte de a putea continua. Problema este că dispozitivele de I / O, cum ar fi hard disk-urile și în special unitățile de dischetă, care au componente mecanice, sunt foarte lente. Dacă procesorul trebuie să aștepte ca unitatea să termine, ar pierde mult timp. Operația asincronă permite procesorului să facă alte lucruri în timp ce așteaptă terminarea citirii / scrierii și continuă să funcționeze după ce operația a reușit.
Rezumat:
Mijloace sincrone în ordine de timp în timp ce asincron înseamnă nici o ordine de timp
Sincronă este preferată față de asincronă în multe aplicații din lumea reală
Sincron poate funcționa mai rău în anumite scenarii decât asincron