C# Dev for Beginners #21: Tasks - Multithreading with Task.Run, WhenAll, and the Thread Pool

December 16, 2025
C# Dev for Beginners #21: Tasks - Multithreading with Task.Run, WhenAll, and the Thread Pool

Watch the Video

Or watch it directly on YouTube: Click here

Video Description

Stop using new Thread(). Modern C# uses Tasks. They're lighter, smarter, and the foundation for async/await. Time to do multithreading the right way.

What you'll learn:

  • Why Tasks beat raw Threads
  • The thread pool - reuse over recreation
  • Task.Run for CPU-bound work
  • Task for returning values
  • await vs Wait() vs Result
  • Task.WhenAll - parallel execution
  • Task.WhenAny - racing operations
  • Exception handling in Tasks
  • AggregateException for multiple failures
  • Fire-and-forget dangers
  • async void lambda trap
  • CPU-bound vs I/O-bound work

Key insights:

  • Threads are expensive, Tasks are cheap
  • Thread pool maintains reusable threads
  • await releases the thread, Wait() blocks it
  • Always await or observe your Tasks
  • Fire-and-forget loses exceptions silently
  • async void should only be for event handlers
  • Task.Run for CPU work, await for I/O work
  • WhenAny + Delay = timeout pattern

We'll build:

  • Parallel file downloader
  • Timeout wrapper for any operation
  • Progress reporting pattern
  • Multi-task error handling

Next Video: Async/Await Basics

Tasks finally make sense? Smash that like button! Subscribe and enable notifications - next up we tackle async/await! Task.Run or await directly? Tell me your approach in the comments!

Chapters

  • 0:00 Tasks - Modern Multithreading
  • 1:09 The Thread Pool Changes Everything
  • 1:37 Thread vs Task Creation
  • 1:57 Your First Task
  • 2:36 Tasks That Return Values
  • 3:22 Waiting for Tasks
  • 4:07 Running Multiple Tasks
  • 4:50 Task.WhenAny - First One Wins
  • 5:27 Exception Handling in Tasks
  • 6:12 AggregateException - Multiple Failures
  • 6:56 Don't Fire and Forget
  • 7:54 Async Lambdas Trap
  • 8:17 When To Use Task.Run
  • 9:17 CPU-Bound vs I/O-Bound
  • 10:50 Practical Pattern: Timeout
  • 11:27 Practical Pattern: Progress Reporting
  • 12:09 Q: Common Task Questions
  • 13:02 Key Takeaways
  • 13:56 Practice Challenge

Video Info

  • Duration: 15:21
  • Published: December 16, 2025

Links

Categories: Tutorial Series