Computing foundations
Concurrency
Threads, synchronization and asynchronous programming. It is one of the hardest topics to get right, so it pays to understand the problems before they show up in production.
Topics
Concurrency Basics
Multithreading, Concurrency vs Parallelism, Thread Synchronization, Critical Section, Mutex, Monitor, Semaphores, Deadlocks, Fork-Join Model, Generators, Coroutines, Fibers, Interprocess Communication, Producer-Consumer, Dining Philosophers, Readers-Writers
Reactive Programming
ReactiveX, Observables, Subscribers, Hot/Cold, Marble Diagrams, Operators
Resources
- Multithreading 101
Article · 4 pages
- Fork-Join Model
Article · 2 pages
- Overview of Modern Concurrency and Parallelism Concepts
Article · 12 pages
- Modern Operating Systems
Book · Andrew S. Tanenbaum, Herbert Bos, Pearson, 2014 · Chapters: 2.3, 2.5 · 35 pages
- The Pragmatic Programmer 20th Edition
Book · Andrew Hunt, David Thomas, Addison-Wesley, 2019 · Chapters: 6 · 24 pages