I was reading about the Task Parallel Library and the article said:
In the .NET Framework 4, tasks are the preferred API for writing multi-threaded, asynchronous, and parallel code
But it also says they use the ThreadPool behind the scenes. What I'm having difficulty figuring out is if Tasks should only be used when you'd use a ThreadPool (and so "Thread versus Task" would be equivalent to "Thread versus ThreadPool"), or if Microsoft intended for Tasks to be used anywhere multiple threads are required, without the considerations inherent to the "Thread versus ThreadPool" dilemma.
So, should Tasks be used anywhere multiple threads are required?