Multithreading - Part 1
1 Topics
Threading Basics
7 Sub-topics
Understanding Concurrency vs Parallelism
Creating Threads - Thread Class
Starting and Joining Threads
Thread Synchronization Need
Global Interpreter Lock (GIL) Explained
Multithreading - Part 2
1 Topics
Thread Synchronization
7 Sub-topics
Thread Synchronization with Locks
Semaphore for Resource Management
Event Objects for Signaling
Race Conditions and Deadlocks
Multiprocessing - Part 1
1 Topics
Process Basics
7 Sub-topics
Understanding Multiprocessing Module
Creating and Starting Processes
Process vs Thread Comparison
Multiprocessing for CPU-Bound Tasks
Process Pools with Pool Class
Context and Start Methods
Multiprocessing - Part 2
1 Topics
Inter-Process Communication
7 Sub-topics
Inter-Process Communication - Queue
Inter-Process Communication - Pipe
Shared Memory with Value and Array
Manager for Shared Objects
Process Synchronization - Lock
Process Synchronization - Semaphore, Event
Handling Process Exceptions
Asynchronous Programming - Part 1
1 Topics
Async Basics
7 Sub-topics
Understanding Async/Await Concepts
asyncio Module Introduction
Coroutines with async def
Asynchronous Programming - Part 2
1 Topics
Async Tasks and Patterns
7 Sub-topics
Creating Tasks with asyncio.create_task()
Running Multiple Coroutines - gather()
Async Iterators and Generators
Asynchronous Comprehensions
Error Handling in Async Code