Асинхронне програмування: види, класифікація, принципи програмування, концепція, значення і застосування

Асинхронне програмування (АП) – це форма паралельного програмування, яка дозволяє структурної одиниці системи працювати окремо від основного потоку програми. Коли робота завершена, вона повідомляє основний потік про те, чи була робота завершена чи ні. Таке програмування вигідно, так як воно збільшує підтримувану пропускну спроможність, що робить її привабливою, враховуючи зростаючу потребу інтернету в системах з високою масштабованістю.

Моделі асинхронного програмування

Для того щоб обробити безперервність результату неблокирующих операцій після їх завершення, були створені різні моделі АП. Переваги їх оцінюються з точки зору того, наскільки вони дозволяють наблизитися до схеми, найбільш близькою до послідовної.

Типи моделей АП:

  • Continuations step model – спадкоємна ступенева модель. Це найбільш використовувана асинхронність в Node JS. Кожна функція отримує інформацію про те, як вона повинна обробляти в операції результат успіху або помилки.
  • Event model – модель події, використовує керовану подіями архітектуру, яка дозволяє неблокирующим операціями повідомляти про їх завершення за ознаками успіху або невдачі, вимагає кореляція для синхронізації.
  • Promise model – модель обіцянки, пояснюється возвращаемыми значеннями неблокирующих операцій незалежно від моменту часу, в який були отримані зазначені значення успіху або невдачі.
  • Generator model – модель генератора. Генератори використовуються для тимчасового повернення управління викликає програмі і подальшого повернення до підпрограмі, шляхом відновлення стану в точці, в якій її виконання було припинено.