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:
- Minden időt igénylő művelet (pl. fájlolvasás, hálózati kérések) az eseménysorba kerül.
- Az eseménysor folyamatosan ellenőrzi ezt a sort, és amikor egy művelet befejeződik, meghívja a megfelelő callbacket vagy kezelőt.
- 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.