Visão Geral
Este curso Curso Rust Concurrency Internals, aprofunda os mecanismos internos de concorrência da linguagem Rust, explorando como o modelo de ownership, o sistema de tipos e o compilador garantem segurança em ambientes concorrentes. O foco está na compreensão de baixo nível de threads, sincronização, atomics, memory ordering e estruturas lock-free, capacitando o aluno a projetar sistemas altamente paralelos, seguros e eficientes.
Conteúdo Programatico
Module 1: Concurrency Model in Rust
- Concurrency vs Parallelism
- Rust Safety Guarantees
- Fearless Concurrency Principles
Module 2: Threads and Execution Model
- Native Threads in Rust
- Thread Lifecycle and Scheduling
- Thread Pools
Module 3: Ownership Across Threads
- Move Semantics
- Send and Sync Traits
- Shared Ownership Patterns
Module 4: Synchronization Primitives
- Mutex, RwLock, and Condvar
- Spinlocks and Parking
- Deadlocks and Starvation
Module 5: Atomics and Memory Ordering
- Atomic Types in Rust
- Memory Orderings
- Happens-Before Relationships
Module 6: Lock-Free and Wait-Free Programming
- Lock-Free Design Principles
- Compare-And-Swap Patterns
- Common Pitfalls
Module 7: Unsafe Rust and Concurrency
- Data Races and Undefined Behavior
- Writing Safe Abstractions
- Verifying Safety Invariants
Module 8: Async Concurrency Internals
- Futures and Poll Model
- Wakers and Executors
- Cooperative Scheduling
Module 9: Testing and Debugging Concurrent Code
- Stress Testing and Fuzzing
- Race Condition Detection
- Debugging Concurrent Failures
Module 10: Capstone Project
- Designing a Concurrent System Component
- Performance and Scalability Analysis
- Documentation and Safety Review