Год выпуска: 2017 Автор: Александр Прокопец Издательство: ДМК Пресс Страниц: 342 ISBN: 978-5-97060-572-1
Описание
Scala - современный, мультипарадигменный язык программирования, позволяющий описывать типичные шаблоны программирования компактнее, выразительнее и безопаснее. Scala прекрасно сочетает в себе черты объектно-ориентированных и функциональных языков.Во втором издании книги рассматривается актуальная версии Scala 2.12, требующая для работы Java 8. Книга начинается с введения в основы конкурентного программирования в JVM и описания модели памяти в Java, а после демонстрирует основные строительные блоки для реализации конкурентных вычислений, такие как атомарные переменные, пулы потоков и конкурентные структуры данных. Затем рассматриваются разные высокоуровневые абстракции конкуренции, каждая из которых ориентирована на решение определенного класса задач, при этом затрагиваются самые последние достижения в поддержке асинхронного программирования. Также охватываются некоторые полезные шаблоны и способы использования описываемых приемов. В заключение дается краткий обзор применения разных библиотек поддержки конкуренции и демонстрируется возможность их совместного использования.Основные темы, рассматриваемые в книге:- принципы конкурентного программирования для современных многопроцессорных систем;- создание высокопроизводительных систем на основе простых, низкоуровневых примитивов асинхронных вычислений;- организация асинхронных вычислений с применением объектов Future и Promise;- увеличение производительности последовательных программ за счет использования параллельных коллекций;- разработка надежных, масштабируемых и простых в использование моделей данных с использованием транзакционной памяти;- прозрачная поддержка распределенных вычислений, способных выполняться на нескольких компьютерах;- интеграция разных фреймворков конкуренции в больших приложениях;- проектирование и реализация масштабируемых и простых в сопровождении конкурентных приложений на Scala 2.12.