Алгоритми диспетчеризації подій в Node.js.
dc.contributor.author | Щербаков, Є. В. | |
dc.contributor.author | Щербакова, М. Є. | |
dc.date.accessioned | 2025-05-27T18:44:38Z | |
dc.date.available | 2025-05-27T18:44:38Z | |
dc.date.issued | 2021 | |
dc.description.abstract | У традиційній клієнт-серверній архітектурі один потік не може обробляти кілька запитів одночасно через блокуючі операції введення-виведення. Операції роботи з мережею, а також читання і запису на диск занадто повільні в порівнянні зі швидкістю виконання інструкцій процесором комп'ютера. Тому диспетчер програм Node.js використовує орієнтовану на події модель і неблокуючу архітектуру введення-виведення, що робить його легким і ефективним за рахунок наступного: головний потік не блокується операціями введення-виведення; сервер під час операцій введення-виведення продовжує обслуговувати інші запити; сервер розробляється як набір асинхронних програм, керованих подіями, і не обов'язково потокобезпечних. Цикл обробки подій, який є центральною частиною диспетчера Node.js, реалізується відповідно до звичайного однопотокового підходу до асинхронного введення-виведення. Коли циклу обробки подій, що працює в основному потоці додатка, потрібно виконати операцію введення-виведення, для її асинхронного виконання він використовує інший потік з пулу потоків, а коли виконання операції завершується, функція зворотного виклику (колбек) ставиться в чергу подій для послідовної обробки основним потоком. Функції з черги подій (колбеки) виконуються тільки після того, як стек викликів основного потоку буде повністю очищений. Тільки після цього функції з черги подій поміщаються в стек викликів основного потоку для виконання. Якщо в стеку викликів основного потоку в даний момент знаходиться хоча б один елемент, то колбеки в стек викликів потоку потрапити не можуть. Якраз саме через це виклик функції по таймауту часто буває неточним за часом, оскільки функція не може потрапити з черги подій в стек потоку, поки в ньому виконується якась інша функція. Платформа Node.js знаходиться в фазі швидкого зростання, і багато хто розглядає її як переконливу альтернативу традиційним архітектурам веб-додатків. | |
dc.identifier.citation | Щербаков Є. В., Щербакова М. Є. Алгоритми диспетчеризації подій в Node.js. Наукові вісті Далівського університету. 2021. №20. | |
dc.identifier.doi | https://doi.org/10.33216/2222-3428-2021-20-14 | |
dc.identifier.udc | 004.4'236 | |
dc.identifier.uri | https://dspace.snu.edu.ua/handle/123456789/2168 | |
dc.language.iso | uk | |
dc.publisher | СНУ ім. В. Даля | |
dc.subject | веб-сервіс | |
dc.subject | Node.js | |
dc.subject | API | |
dc.subject | події | |
dc.subject | обробники подій | |
dc.subject | диспетчеризація | |
dc.subject | демультиплексор | |
dc.subject | движок V8 | |
dc.title | Алгоритми диспетчеризації подій в Node.js. | |
dc.type | Article |