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