Junior — Middle
Puteți explica principiul de funcționare al ciclului de procesare a evenimentelor în sistemele asincrone?
sobes.tech AI
Răspuns de la AI
Ciclul de evenimente (event loop) din sistemele asincrone precum Node.js este responsabil pentru gestionarea executării operațiunilor asincrone fără blocarea firului principal.
Principiul de funcționare:
- Toate operațiunile care necesită timp (de exemplu, citirea fișierelor, solicitări de rețea) sunt trimise în coada de evenimente.
- Ciclul de evenimente verifică constant această coadă și, când o operațiune se finalizează, apelează callback-ul sau handler-ul corespunzător.
- Firul principal nu este blocat, continuă să execute următorul cod până când apar evenimentele finalizate.
Acest lucru permite utilizarea eficientă a resurselor și procesarea multor operațiuni în paralel, în ciuda naturii mono-thread a Node.js.
Exemplu:
console.log('Început');
setTimeout(() => {
console.log('Eveniment asincron');
}, 1000);
console.log('Sfârșit');
Ieșirea va fi:
Început
Sfârșit
Eveniment asincron
Pentru că setTimeout plasează funcția în coada de evenimente, iar ciclul de evenimente o va apela mai târziu.