---
source: https://iinventedlight.com/library/notes/rust-mutex-arc-send-sync.md
title: "Mutex, Arc, Send, and Sync"
license: CC-BY-4.0
license_url: https://creativecommons.org/licenses/by/4.0/
source_license: "MIT OR Apache-2.0 (rust-lang/book and cited companions); prose restates cited source lines in own words"
license_family: rust-mit
attribution: "Summary by iinventedlight (AI-assisted). Sources: Rust book + std Arc docs (MIT OR Apache-2.0). Notices: The Rust Programming Language book (rust-lang/book): Copyright (c) 2010 The Rust Project Developers; MIT OR Apache-2.0, used under MIT (https://github.com/rust-lang/book/blob/main/LICENSE-MIT). The Rust Standard Library docs (rust-lang/rust): Copyright (c) The Rust Project Contributors; MIT OR Apache-2.0, used under MIT (https://github.com/rust-lang/rust/blob/master/LICENSE-MIT)."
author: "iinventedlight (synthesis of cited sources); text drafted with AI assistance"
date: 2026-11-09
status: published
approved_by: "Cole Withington, 2026-11-09 13:40 PT: \"Yes, publish all 15 Rust drafts\""
checked_on: 2026-11-09
as_of: 2026-11-09
confidence: medium
untested: "No Rust code was run for this note; only the fetched documentation pages were read."
category: coding-references
topic_area: "code-systems: Rust concurrency"
tags: [rust, mutex, arc, send, sync]
client: Librarian
sources:
  - id: S1
    title: "Shared-State Concurrency"
    publisher: The Rust Project (The Rust Programming Language book)
    url: https://doc.rust-lang.org/book/ch16-03-shared-state.html
    accessed: 2026-11-09
    license: "MIT OR Apache-2.0"
  - id: S2
    title: "Extensible Concurrency with Sync and Send"
    publisher: The Rust Project (The Rust Programming Language book)
    url: https://doc.rust-lang.org/book/ch16-04-extensible-concurrency-sync-and-send.html
    accessed: 2026-11-09
    license: "MIT OR Apache-2.0"
  - id: S3
    title: "Arc in std::sync"
    publisher: The Rust Standard Library
    url: https://doc.rust-lang.org/std/sync/struct.Arc.html
    accessed: 2026-11-09
    license: "MIT OR Apache-2.0"
---
# Mutex, Arc, Send, and Sync

**Answer:** A mutex (mutual exclusion) lets only one thread touch the guarded data at a time. Fortunately, `Arc<T>` is like `Rc<T>` and safe in concurrent situations.

## Send and Sync

`Send` indicates ownership of values can be transferred between threads. `Sync` marks types that are safe to share by shared reference across threads.

`Arc` is a thread-safe reference-counting pointer in the standard library.

## Claims

- id: C1
  claim: Mutex allows only one thread to access data at a time.
  source: S1
  evidence: "Mutex is an abbreviation for mutual exclusion, as in a mutex allows only one thread"
- id: C2
  claim: Arc is like Rc but safe to use in concurrent situations.
  source: S1
  evidence: "Fortunately, Arc<T> is a type like Rc<T> that is safe to use in concurrent situations."
- id: C3
  claim: Send means ownership can be transferred between threads.
  source: S2
  evidence: "The Send marker trait indicates that ownership of values of the type implementing Send can"
- id: C4
  claim: Sync means it is safe to share references across threads.
  source: S2
  evidence: "The Sync marker trait indicates that it is safe for the type implementing Sync to"

- id: C5
  claim: Arc is a thread-safe reference-counting pointer.
  source: S3
  evidence: "A thread-safe reference-counting pointer. 'Arc' stands for 'Atomically Reference Counted'."

## Sources

- [S1] Shared-State Concurrency. The Rust Project (The Rust Programming Language book). https://doc.rust-lang.org/book/ch16-03-shared-state.html . License: MIT OR Apache-2.0. Accessed 2026-11-09.
- [S2] Extensible Concurrency with Sync and Send. The Rust Project (The Rust Programming Language book). https://doc.rust-lang.org/book/ch16-04-extensible-concurrency-sync-and-send.html . License: MIT OR Apache-2.0. Accessed 2026-11-09.

- [S3] Arc in std::sync. The Rust Standard Library. https://doc.rust-lang.org/std/sync/struct.Arc.html . License: MIT OR Apache-2.0. Accessed 2026-11-09.

License: this note is CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Summary by iinventedlight (AI-assisted). Sources and notices: The Rust Programming Language book (rust-lang/book): Copyright (c) 2010 The Rust Project Developers; MIT OR Apache-2.0, used under MIT (https://github.com/rust-lang/book/blob/main/LICENSE-MIT). The Rust Standard Library docs (rust-lang/rust): Copyright (c) The Rust Project Contributors; MIT OR Apache-2.0, used under MIT (https://github.com/rust-lang/rust/blob/master/LICENSE-MIT). Text was condensed and changed from the originals.

---

Agents: [/agents.md](/agents.md) | [/.well-known/agent-library.json](/.well-known/agent-library.json).
