Skip to main content
Brave Programmer Logo

BraveProgrammer

BraveProgrammer

HomeProjectsBlogsCoursesLessonsAbout

Site footer

BraveProgrammer

Free coding courses, practical tutorials, and real projects from BraveProgrammer. Learn web development with React, Next.js, and TypeScript.

Navigation

  • Home
  • Projects
  • Blogs
  • Courses

Resources

  • About
  • Lessons

© 2026 BraveProgrammer. All rights reserved.

  1. Courses
  2. /
  3. Rust Fundamentals

Lesson 37 of 50 · rust

Mutexes and Shared State

Duration: 20 minutes

Mutexes and Shared State\n\nArc<Mutex<T>> lets multiple threads share mutable data safely.\n\nrust\nuse std::sync::{Arc, Mutex};\nuse std::thread;\n\nfn main() {\n let counter = Arc::new(Mutex::new(0));\n let mut handles = vec![];\n for _ in 0..5 {\n let ctr = Arc::clone(&counter);\n let handle = thread::spawn(move || {\n let mut num = ctr.lock().unwrap();\n *num += 1;\n });\n handles.push(handle);\n }\n for h in handles { h.join().unwrap(); }\n println!(\"Final count: {}\", *counter.lock().unwrap());\n}\n\n

Previous: Channels and Message PassingNext: Unsafe Rust