Sobes.tech
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:

  1. Toate operațiunile care necesită timp (de exemplu, citirea fișierelor, solicitări de rețea) sunt trimise în coada de evenimente.
  2. Ciclul de evenimente verifică constant această coadă și, când o operațiune se finalizează, apelează callback-ul sau handler-ul corespunzător.
  3. 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.