Встречается на собеседованиях • сегодня
Как сделать JS многопоточным
JavaScript однопоточен, но можно использовать Web Workers для выполнения тяжелых задач в фоновом потоке. Они работают в отдельном контексте и не блокируют основной поток UI.
Пример создания воркера:
js
// main.js
const worker = new Worker('worker.js');
worker.postMessage({ data: 'some data' });
worker.onmessage = (e) => {
console.log('Message from worker:', e.data);
};
text
```js
// worker.js
self.onmessage = (e) => {
const result = heavyCalculation(e.data);
self.postMessage(result);
};Ограничения:
- Нет доступа к DOM
- Ограниченный доступ к API (например, нет localStorage)
- Обмен данными только через postMessage
Для параллельных вычислений можно использовать SharedArrayBuffer (с осторожностью из-за Spectre).

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы