В
Книге есть пример про обедающих философов.
Там используется Arc<T> и Mutex<T>. Это контейнеры. Помещённые в них значения произвольного типа приобретают дополнительные свойства при многозадачном исполнении. Определяют правила предоставления ресурсов конкурирующим процессам.