Junior — Middle
Можете ли објаснити принцип рада циклуса обраде догађаја у асинхроним системима?
sobes.tech АИ
Одговор од АИ
Циклус догађаја (event loop) у асинхроним системима као што је Node.js одговоран је за управљање извршавањем асинхроних операција без блокирања главног тока.
Принцип рада:
- Све операције које захтевају време (нпр. читање фајлова, мрежни захтеви) се шаљу у ред догађаја.
- Циклус догађаја стално проверава овај ред и, када операција заврши, позива одговарајући callback или обрађивач.
- Главни ток се не блокира, он наставља да извршава следећи код док се не појаве завршени догађаји.
Ово омогућава ефикасно коришћење ресурса и обраду великог броја операција паралелно, упркос једнонишној природи Node.js.
Пример:
console.log('Почетак');
setTimeout(() => {
console.log('Асимптон догађај');
}, 1000);
console.log('Крај');
Излаз ће бити:
Почетак
Крај
Асимптон догађај
Зато што setTimeout ставља функцију у ред догађаја, а циклус догађаја је позива касније.