Синхронные операции блокируют выполнение потока до своего завершения.
Какие операции и функции являются синхронными в коде?
Синхронные операции блокируют выполнение потока до своего завершения.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Синхронные операции блокируют выполнение потока до своего завершения.
Примеры синхронных операций в Node.js:
-
Операции с файловой системой, заканчивающиеся на
Sync:const fs = require('fs'); // Чтение файла синхронно const data = fs.readFileSync('file.txt', 'utf8'); -
Блокирующие функции CPU-интенсивных модулей, которые не используют асинхронные API: Например, сложные математические расчеты в обычном цикле.
-
Некоторые операции в нативных модулях (C++), если они специально не реализованы асинхронно.
-
Операции, которые в своей основе являются блокирующими в операционной системе (например, ожидание ввода в консоль).
Большинство встроенных функций Node.js, работающих с сетевыми операциями, файловой системой, базами данных и т.д., имеют асинхронные аналоги, чтобы избежать блокировки основного потока выполнения. Синхронные версии обычно используются только в утилитах командной строки или при инициализации, где блокировка приемлема.