Course
Skills Expanded
CLR 2 Threading
This course presents the threading features of the CLR 2.
What you'll learn
This course presents the threading features of the CLR 2.
Table of contents
Multithreading
73mins
- Overview 1m
- Process versus Thread 3m
- Multithreading Use-Cases 2m
- DEMO: Unresponsive UI 4m
- Multithreading Caveats 4m
- Starting Threads 3m
- DEMO: Starting Threads 4m
- DEMO: Multicore Machine 2m
- Thread Entry Point Methods 4m
- Thread Lifetime 4m
- Thread Shutdown Choreography 6m
- Thread Pool Overview 5m
- Thread Pool Interfaces 1m
- ThreadPool.QueueUserWorkItem 3m
- DEMO: QueueUserWorkItem 5m
- DEMO: !threadpool 4m
- DEMO: Thread Pool Internals 6m
- Delegates 7m
- Async I/O 3m
- Summary 2m
Thread Synchronization
83mins
- Overview 2m
- Critical Sections 3m
- DEMO: Buggy Multithreaded Add 2m
- Race Conditions 4m
- Solution 1: Atomic Updates 3m
- DEMO: Interlocked.Increment 2m
- Solution 2: Data Partitioning 2m
- DEMO: Data Partitioning 6m
- Solution 3: Wait-Based Synchronization 3m
- Wait-Based Synchronization Protocol 3m
- Wait-Based Synchronization Illustrated 3m
- Wait-Based Synchronization in the CLR 2m
- Monitors Illustrated 2m
- Monitors in the CLR 1m
- Monitor Usage 2m
- Exception-Aware Monitor Usage 2m
- Monitor Usage in C# 1m
- Hold and Wait 2m
- Using Monitor.Wait/PulseAll 6m
- Deadlock 3m
- Deadlock Illustrated 2m
- DEMO: Buggy Bank Account Simulation 9m
- DEMO: Deadlock-Prone Thread Synchronization 4m
- DEMO: Hierarchical Lock Acquisition 3m
- Mutexes 5m
- Deadlock-Free Multiple Lock Acquisition 4m
- DEMO: Using Mutex and WaitHandle.WaitAll 1m
- Summary 3m