Rust: атомарности и блокировки

 

ISBN 978-601-09-5050-4
Количество страниц 528
Формат издания 197 x 250 мм
Печать Черно-белая

Rust: атомарности и блокировки

Описание

Язык программирования Rust великолепно справляется с конкурентными вычислениями, а в его экосистеме имеется множество библиотек, включающих широкий набор структур данных, блокировок и многого другого, предназначенного для работы в среде конкурирующих потоков. Но корректная реализация этих структур может оказаться весьма непростой задачей. Ошибки, допущенные в вопросах упорядочения памяти, нередко встречаются даже в самых востребованных библиотеках.

В этой книге, имеющей сугубо практическую направленность, Мара Бос, руководитель команды разработчиков библиотеки Rust, помогает Rust-программистам всех уровней получить четкое представление о низкоуровневой конкурентности. Вы узнаете об атомарности и упо-рядочении памяти, а также о том, как они сочетаются с базовыми API-интерфейсами опера-ционной системы для создания таких наиболее востребованных примитивов, как мьютексы и условные переменные. Прочитав книгу, вы получите четкое представление о том, как связаны друг с другом используемая в Rust модель памяти, процессор и особенности той или иной операционной системы.

Вы узнаете:

  • Об исключительной роли имеющейся в Rust сиcтемы типов в корректном программировании конкурентности
  • Все о мьютексах, условных переменных, атомарности и упорядочении памяти
  • Что на самом деле происходит с атомарными операциями в процессорах Intel и ARM
  • Как реализуются блокировки при поддержке операционной системы
  • Как создается корректный программный код, включающий конкурентность, атомарность и блокировки
  • Какими приемами можно воспользоваться для правильного создания своих собственных примитивов блокировки и синхронизации

Мара Бос занимается поддержкой стандартной библиотеки Rust и создает на Rust системы управления в реальном времени. Как руководителю группы поддержки библиотеки Rust, ей известны все тонкости языка и стандартной библиотеки. Кроме того, в качестве основателя и технического директора компании Fusion Engineering она уже много лет работает с конкурентными системами реального времени. Поддержка наиболее востребованной в экосистеме Rust библиотеки и повседневная работа над критически важными для безопасности системами наделили ее практическим опытом, позволяющим досконально разобраться в теории и применить ее на практике.