Rust: атомарности и блокировки
ISBN | 978-601-09-5050-4 |
Количество страниц | 528 |
Формат издания | 197 x 250 мм |
Печать | Черно-белая |
Описание
Язык программирования Rust великолепно справляется с конкурентными вычислениями, а в его экосистеме имеется множество библиотек, включающих широкий набор структур данных, блокировок и многого другого, предназначенного для работы в среде конкурирующих потоков. Но корректная реализация этих структур может оказаться весьма непростой задачей. Ошибки, допущенные в вопросах упорядочения памяти, нередко встречаются даже в самых востребованных библиотеках.
В этой книге, имеющей сугубо практическую направленность, Мара Бос, руководитель команды разработчиков библиотеки Rust, помогает Rust-программистам всех уровней получить четкое представление о низкоуровневой конкурентности. Вы узнаете об атомарности и упо-рядочении памяти, а также о том, как они сочетаются с базовыми API-интерфейсами опера-ционной системы для создания таких наиболее востребованных примитивов, как мьютексы и условные переменные. Прочитав книгу, вы получите четкое представление о том, как связаны друг с другом используемая в Rust модель памяти, процессор и особенности той или иной операционной системы.
Вы узнаете:
- Об исключительной роли имеющейся в Rust сиcтемы типов в корректном программировании конкурентности
- Все о мьютексах, условных переменных, атомарности и упорядочении памяти
- Что на самом деле происходит с атомарными операциями в процессорах Intel и ARM
- Как реализуются блокировки при поддержке операционной системы
- Как создается корректный программный код, включающий конкурентность, атомарность и блокировки
- Какими приемами можно воспользоваться для правильного создания своих собственных примитивов блокировки и синхронизации
Мара Бос занимается поддержкой стандартной библиотеки Rust и создает на Rust системы управления в реальном времени. Как руководителю группы поддержки библиотеки Rust, ей известны все тонкости языка и стандартной библиотеки. Кроме того, в качестве основателя и технического директора компании Fusion Engineering она уже много лет работает с конкурентными системами реального времени. Поддержка наиболее востребованной в экосистеме Rust библиотеки и повседневная работа над критически важными для безопасности системами наделили ее практическим опытом, позволяющим досконально разобраться в теории и применить ее на практике.