JavaScript
Асинхронность в JS это что то типа многопоточности?
Я каждый день захожу по вкладкам и скачиваю файлы..
Асинхронность в JavaScript не является полноценной многопоточностью, как в некоторых других языках программирования. Вместо этого, JavaScript использует концепцию однопоточности событийного цикла (event loop).
В JavaScript выполнение кода происходит в одном основном потоке выполнения, но с помощью асинхронных функций и колбэков, JavaScript может эффективно обрабатывать задачи, которые требуют ожидания, такие как скачивание файлов или отправка сетевых запросов, без блокирования основного потока.
Когда вы запускаете асинхронную операцию, такую как скачивание файла, JavaScript продолжает выполнять другие задачи и события, асинхронная операция выполняется отдельно. Когда операция завершается, вызывается соответствующий колбэк или обрабатывается промис, позволяя вам продолжить работу с полученными данными.
Таким образом, асинхронность в JavaScript позволяет эффективно управлять задачами, которые требуют времени, не блокируя основной поток выполнения и обеспечивая отзывчивость интерфейса пользователя.
В JavaScript выполнение кода происходит в одном основном потоке выполнения, но с помощью асинхронных функций и колбэков, JavaScript может эффективно обрабатывать задачи, которые требуют ожидания, такие как скачивание файлов или отправка сетевых запросов, без блокирования основного потока.
Когда вы запускаете асинхронную операцию, такую как скачивание файла, JavaScript продолжает выполнять другие задачи и события, асинхронная операция выполняется отдельно. Когда операция завершается, вызывается соответствующий колбэк или обрабатывается промис, позволяя вам продолжить работу с полученными данными.
Таким образом, асинхронность в JavaScript позволяет эффективно управлять задачами, которые требуют времени, не блокируя основной поток выполнения и обеспечивая отзывчивость интерфейса пользователя.
JS - однопоточный язык с кооперативной многозадачностью.
https://ru.wikipedia.org/wiki/Многозадачность#Совместная_или_кооперативная_многозадачность
Так что асинхронность реализуется в рамках одного потока: пока один процесс работает, все остальные стоят и ждут, когда до них дойдёт очередь.
https://ru.wikipedia.org/wiki/Многозадачность#Совместная_или_кооперативная_многозадачность
Так что асинхронность реализуется в рамках одного потока: пока один процесс работает, все остальные стоят и ждут, когда до них дойдёт очередь.
JS однопоточный язык, но операции выполняются ассинхронно. Поток не ждёт соединения с сервером, а продолжает отрисовку страницы без остановки.
Асинхронность не равно многопоточность, а в JS, за редким исключением, многопоточности вообще нет, всё выполняется в одном Event Loop в однопоточном режиме.
Это не мпногопоток, JS однопоточный, но в нем есть механизм EventLoop, позволяющий добиваться асинхронного выполнения инструкций.
Если интересно, вот почитай.
https://doka.guide/js/async-in-js/
Если интересно, вот почитай.
https://doka.guide/js/async-in-js/
Да, вполне возможно, что где-то под капотом создаётся новый поток под асинхронную функцию. Даже, скорее всего так и есть. Современные CPU оптимизированны под это. Новый ждущий поток не стоит практически ничего.
Многопоточность управляется извне, асинхронные вызовы контролируются изнутри процедуры
Похожие вопросы
- Помогите определиться с выбором нового языка (JS(TS) vs Java)
- В JS существует 8 типов данных:
- Js фреймворки, что полезного можно для себя найти?
- В чем цель фреймворков js web?
- Приколы с преобразованием типов в JS
- [HTML/CSS/JS] Как сохранять изменённые в .js данные оффлайн-сервера локально?
- Почему jQuery методы популярнее js методов при общении с ДоМ?
- ПОЧЕМУ JS ТАКОЙ НЕПОНЯТНЫЙ???
- вопрос по JS. " простой ()";
- Порядок изучени JavaScripta. Путь к Node.js. Нужен совет по обучению от программистов