-> is a set of public types and APIs in the System.Threading and System.Threading.Tasks namespaces.
-> The purpose of the TPL is to make developers more productive by simplifying the process of adding parallelism and concurrency to applications.
-> The TPL scales the degree of concurrency dynamically to most efficiently to use all the processors that are available.
-> Refers to scenarios in which the same operation is performed concurrently in a source collection or array.
-> The TPL is based on the concept of a task, which represents an asynchronous operation. The term task parallelism refers to one or more independent tasks running concurrently.
-> The paralle.invoke method provides a convenient way to run any number of arbitrary statements concurrently.
Parallel.Invoke(() => DoSomeWork(), () => DoSomeOtherWork());