Async Rust

Course objectives

Participants will learn how to:

  • work efficiently and safely with threads in Rust
  • safely synchronize access to data using mutexes, and use atomic types and channels
  • recognize when async/await asynchronicity is a better choice than threads
  • understand how runtimes (Tokio, async-std) operate
  • test and debug asynchronous code

Course syllabus

Concurrency vs. Parallelism

  • Basic concepts of Asynchronous Programming

Threads in Rust

  • Threads in Rust
  • Scoped Threads
  • Shared Ownership & Reference Counting
  • Borrowing and Data Races
  • Interior Mutability - Cell, RefCell, Mutex, RwLock, Atomics & UnsafeCell
  • Thread Safety - Send & Sync
  • Locking - Mutexes and RwLocks
  • Waiting - Parking and Condition Variables
  • Channels
  • Atomics & Memory Ordering

Async Programming in Rust

  • Working with Futures
  • async/await
  • Async Runtimes,
  • Async networking
  • Reactive Programming
  • Testing and Debugging Async Code
  • Design Patterns in Async Rust

Prerequisites

Working knowledge of Rust.

Course duration

3 days, 8 class hours each
On-site course quote

In-house training course.

Run at your company premises.

Get a quote
On-line course quote

In-house training course.

Delivered live in a virtual classroom.

Get a quote
Upcoming public courses

No scheduled dates available for this course?

Request a course