What is the difference between:

  1. Starting a new thread
  2. Using TPL
  3. Using BackgroundWorker

All of these create concurrency but what are the low-level differences between these? Do all 3 make threads anyway?

Thanks

Edit
Report