Тур по Rust Содержание

Разделение данных между потоками (Sharing Across Threads)

Mutex является контейнерной структурой данных, которая обычно содержится в других умных указателях, которые уже внутри содержат данные и позволяет создавать изменяемые и неизменяемые ссылки на данные внутри. Это предотвращает злоупотребление заимствованием, поскольку операционная система ограничивает одновременный доступ к данным только одному потоку ЦП, блокируя другие потоки до тех пор, пока исходный поток не завершит работу с заблокированным заимствованием.

Многопоточное программирование выходит за рамки Tour of Rust, но тип Mutex является фундаментальной частью управления несколькими потоками ЦП, обращающихся к одним и тем же данным.

Существует специальный, умный указатель Arc, который идентичен Rc, за исключением того, что использует потоко-безопасное увеличение количества ссылок. Часто используется много ссылок на один и тот же Mutex объект.