跳转至

Rust并发编程实战课

在当今多核时代,Rust 凭借其零成本抽象和编译期内存安全保障,正在重塑高并发编程的边界。其独有的所有权系统、借用规则和生命周期机制,不仅从根源上降低了数据竞争风险,更让并发安全成为编译期可验证的硬性保障。

但安全优势不等于编程坦途,Rust 的并发支持虽然强大,却也带来了新的挑战:

  • 并发原语的选择:Rust 提供了丰富的并发原语,如 Mutex、RwLock、Arc、Atomic Types 和 Channels 等。在面对并发问题时,如何选择合适的并发原语来解决问题?
  • 性能与安全的平衡:Rust 的并发模型虽然安全,但使用不当仍有可能会导致性能瓶颈。如何在保证内存安全的同时,最大化利用多核处理器的性能?
  • 复杂场景的应对:在实际开发中,有些并发问题可能无法通过简单的并发原语解决。例如,如何处理复杂的线程间通信、如何避免死锁和数据竞争?
  • 异步编程的挑战:Rust 的异步编程模型虽然强大,但其学习曲线较为陡峭。如何理解和使用 async/await、Future 和 Executor 等概念,以实现高效的异步程序?

鸟窝老师在多年的项目实战中,梳理了一套 Rust 并发编程知识体系。他将在课程中带你深入理解 Rust 的并发模型,掌握其独特的所有权和生命周期机制,帮助你解决并发问题。此外,他还会通过直播的方式结合实际项目中的常见错误场景,提供详细的排查和解决方法,帮助你在实战中提升并发编程能力。

无论你是 Rust 初学者,还是有一定经验的开发者,都能通过本课程系统地掌握 Rust 并发编程的核心技能,构建出高效、可靠的并发应用程序。

课程设计

第一章:并发编程基础

这部分你会了解到并发编程的基本概念与应用场景,例如线程、线程池等,以及目前并发编程的挑战和问题,还会带你搭建 Rust 编程环境,这一部分内容是我们后面学习 Rust 并发编程核心技术的基础。

第二章:线程和线程池

你会了解到 Rust 中线程的各种属性和使用方法,在大量并发的情况下,学习通过线程池的方式,有效管理线程对系统资源的消耗,使用有效的资源管理庞大的并发任务。

第三章:异步编程

异步编程是 Rust 一种非常重要的编程范式,这部分你会了解到异步编程的优势,以及 Rust 的异步编程模型。掌握 async/await 语法、Future、Executor 等核心概念,并通过实际案例了解 Tokio、async-std 等异步运行时的使用方法。

第四章:同步原语

最后是 Rust 标准库中各种常见的同步原语,如互斥锁、读写锁、Once、条件变量等等。学习各个同步原语的特性、它们的使用场景、常见的坑点等等,帮助你在日常工作中规避这些问题。

课程代码:https://github.com/smallnest/rust-concurrency_code