Встречается на собеседованиях • сегодня

Как возможно выполнение двух параллельных синхронных операций

В JavaScript синхронные операции выполняются последовательно, так как это однопоточный язык. Однако можно имитировать параллельное выполнение с помощью:

  1. Web Workers - выполняют код в отдельном потоке:
js
const worker = new Worker('worker.js');
worker.postMessage(data);
  1. Разбивка на части с помощью setTimeout или микротасков:
js
function task1() {
  // первая часть операции
  setTimeout(task1Part2, 0);
}

function task2() {
  // вторая операция
}

task1();
task2();
  1. Использование генераторов и кооперативной многозадачности:
js
function* op1() { /* ... */ yield; }
function* op2() { /* ... */ yield; }

const gen1 = op1();
const gen2 = op2();

gen1.next(); gen2.next(); // чередуем выполнение

Для настоящего параллелизма лучше использовать асинхронные подходы или Web Workers.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы