Sobes.tech
Junior — Middle

El tudná magyarázni az eseményfeldolgozó ciklus működési elvét aszinkron rendszerekben?

sobes.tech MI

Válasz az MI-től

Az eseményciklus (event loop) olyan aszinkron rendszerekben, mint a Node.js, felelős az aszinkron műveletek végrehajtásának kezeléséért anélkül, hogy blokkolná a fő szálat.

Működési elv:

  1. Minden időt igénylő művelet (pl. fájlolvasás, hálózati kérések) az eseménysorba kerül.
  2. Az eseménysor folyamatosan ellenőrzi ezt a sort, és amikor egy művelet befejeződik, meghívja a megfelelő callbacket vagy kezelőt.
  3. A fő szál nem blokkolódik, folytatja a következő kód végrehajtását, amíg be nem fejeződnek a kész események.

Ez hatékony erőforrás-használatot tesz lehetővé és párhuzamosan képes több műveletet kezelni, annak ellenére, hogy a Node.js egy szálon fut.

Példa:

console.log('Kezdet');
setTimeout(() => {
  console.log('Aszinkron esemény');
}, 1000);
console.log('Vége');

A kimenet:

Kezdet
Vége
Aszinkron esemény

Mert a setTimeout a műveletet az eseménysorba helyezi, és az eseményciklus később meghívja azt.