Rust 语言学习手册

免费学习 系统级编程 内存安全

Rust学习手册《线程(std::thread)》:Rust 标准库提供 1:1 线程(系统线程)。 **创建线程:** ```rust use std::thread; let handle = thread::spawn(|| { println!("Hello from a ...

并发

线程(std::thread)

【详细说明 & 代码示例】
Rust 标准库提供 1:1 线程(系统线程)。 **创建线程:** ```rust use std::thread; let handle = thread::spawn(|| { println!("Hello from a thread!"); }); handle.join().unwrap(); ``` **move 闭包:** 将数据移动到线程。 ```rust let v = vec![1, 2, 3]; let handle = thread::spawn(move || { println!("{:?}", v); }); ``` **线程间通信:** 使用 `channel`(多生产者,单消费者)。 ```rust use std::sync::mpsc; let (tx, rx) = mpsc::channel(); thread::spawn(move || { tx.send(42).unwrap(); }); let received = rx.recv().unwrap(); ``` **共享状态:** 使用 `Arc`(原子引用计数)和 `Mutex`(互斥锁)。 ```rust use std::sync::{Arc, Mutex}; let counter = Arc::new(Mutex::new(0)); let mut handles = vec![]; for _ in 0..10 { let counter = Arc::clone(&counter); let handle = thread::spawn(move || { let mut num = counter.lock().unwrap(); *num += 1; }); handles.push(handle); } ``` **Send 和 Sync trait**:自动标记,保证线程安全。

学习提示:建议安装 Rust 工具链(rustup),使用 cargo 构建项目,并熟悉 rustc 编译器错误信息(Rust 的报错非常详细友好)。

全部章节目录(共 63 个知识点)

Rust 基础 (1个知识点)

所有权系统 (1个知识点)

借用与引用 (1个知识点)

生命周期 (1个知识点)

Cargo 与工具链 (2个知识点)

使用说明

  • • 本手册涵盖 Rust 从基础到并发、异步、Web 开发的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议通过 Rust 官方文档(doc.rust-lang.org)加深理解