Learn the basics of parallel programming in Java to write more efficient, performant code.
Overview
Syllabus
Introduction
- Learn parallel programming basics
- What you should know
- Java SDK and IntelliJ IDEA
- Sequential vs. parallel computing
- Parallel computing architectures
- Shared vs. distributed memory
- Thread vs. process
- Thread vs. process: Java demo
- Concurrent vs. parallel execution
- Execution scheduling
- Execution scheduling: Java
- Thread lifecycle
- Thread lifecycle: Java demo
- Thread attributes: Java demo
- Runnable vs. thread: Java demo
- Daemon thread
- Daemon thread: Java demo
- Data race
- Data race: Java demo
- Mutual exclusion
- Mutual exclusion: Java demo
- Atomic variable: Java demo
- Synchronized method: Java demo
- Synchronized statement: Java demo
- Reentrant lock
- Reentrant lock: Java demo
- Try lock
- Try lock: Java demo
- Read-write lock
- Read-write lock: Java demo
- Deadlock
- Deadlock: Java demo
- Abandoned lock
- Abandoned lock: Java demo
- Starvation
- Starvation: Java demo
- Livelock
- Livelock: Java demo
- Next steps
Taught by
Olivia Chiu Stone and Barron Stone