Многопоточный JavaScript : конкурентность за пределами цикла событий
Здесь можно купить книгу "Многопоточный JavaScript : конкурентность за пределами цикла событий" в печатном или электронном виде. Также, Вы можете прочесть аннотацию, цитаты и содержание, ознакомиться и оставить отзывы (комментарии) об этой книге.
Место издания: Москва
ISBN: 978-5-93700-129-0
Страниц: 189
Артикул: 99329
Возрастная маркировка: 16+
Краткая аннотация книги "Многопоточный JavaScript"
Цель данной книги – научить читателя нескольким аспектам написания многопоточных JavaScript-приложений. Прочитав книгу до конца, вы будете понимать различные API веб-исполнителей в браузерах, их сильные и слабые стороны и когда какой использовать. Также узнаете о модуле рабочих потоков в Node.js и сможете сравнить его API с тем, что имеется в браузере. Издание предназначено в первую очередь разработчикам, уже знакомым с JavaScript, но мало знакомым с многопоточным программированием.
Содержание книги "Многопоточный JavaScript : конкурентность за пределами цикла событий"
От издательства
Вступительное слово
Предисловие
Об авторах
Об иллюстрации на обложке
Глава 1. Введение
Что такое потоки?
Конкурентность и параллелизм
Однопоточный JavaScript
Скрытые потоки
Потоки на C: обогатитесь с помощью криптовалюты Happycoin
С одним главным потоком
С четырьмя рабочими потоками
Глава 2. Браузеры
Выделенные исполнители
Выделенный исполнитель Hello World
Продвинутое использование выделенного исполнителя
Разделяемые исполнители
Разделяемый исполнитель Hello World
Продвинутое использование разделяемого исполнителя
Сервисные исполнители
Сервисный исполнитель Hello World
Продвинутые возможности сервисных исполнителей
Абстракции передачи сообщений
Паттерн RPC
Паттерн Диспетчер команд
Соберем все вместе
Глава 3. Node.js
Что было до потоков
Модуль worker_threads
workerData
MessagePort
И снова Happycoin
С одним главным потоком
С четырьмя потоками
Piscina – организация пула рабочих потоков
Полный пул Happycoin’ов
Глава 4. Разделяемая память
Введение в разделяемую память
Разделяемая память в браузере
Разделяемая память в Node.js
SharedArrayBuffer и типизированные массивы
Атомарные методы манипулирования данными
Atomics.add()
Atomics.and()
Atomics.compareExchange()
Atomics.exchange()
Atomics.isLockFree()
Atomics.load()
Atomics.or()
Atomics.store()
Atomics.sub()
Atomics.xor()
Несколько замечаний об атомарности
Сериализация данных
Булевы значения
Строки
Объекты
Глава 5. Дополнительные способы работы с разделяемой памятью
Атомарные методы координации
Atomics.wait()
Atomics.notify()
Atomics.waitAsync()
Хронометраж и недетерминированность
Пример недетерминированности
Определение готовности потока
Пример приложения: игра «Жизнь» Конвея
Однопоточная игра «Жизнь»
Многопоточная игра «Жизнь»
Атомарные операции и события
Глава 6. Паттерны многопоточного программирования
Пул потоков
Размер пула
Стратегии диспетчеризации
Пример реализации
Мьютекс: простая блокировка
Потоковая обработка данных с помощью кольцевых буферов
Модель акторов
Нюансы паттерна
Акторы в JavaScript
Пример реализации
Глава 7. WebAssembly
Ваша первая WebAssembly
Атомарные операции в WebAssembly
Компиляция с C на WebAssembly с помощью Emscripten
Другие компиляторы на WebAssembly
AssemblyScript
Happycoin на AssemblyScript
Глава 8. Анализ
Когда не стоит использовать потоки
Ограничения на объем памяти
Недостаточное число ядер
Контейнеры и потоки
Когда стоит использовать потоки
Подводные камни
Приложение. Алгоритм структурированного клонирования
Предметный указатель
Все отзывы о книге Многопоточный JavaScript : конкурентность за пределами цикла событий
Внимание!
При обнаружении неточностей или ошибок в описании книги "Многопоточный JavaScript : конкурентность за пределами цикла событий (автор Томас Хантер, Брайан Инглиш)", просим Вас отправить сообщение на почту help@directmedia.ru. Благодарим!
и мы свяжемся с вами в течение 15 минут
за оставленную заявку