The Parallel Task Library provides a series of methods that enable working with I/O bound operations as well as CPU bound partitions of work. Using the Task class, you can support a variety of asynchronous patterns that work with I/O bound operations, or those that are a mixture of I/O and CPU bound operations. Parallel tasks are still not easy, but the Parallel Task Library and PLINQ provide better language level support for asynchronous programming than previous libraries had. It will continue to be more important as more of our programs must access data on different machines and more threads are waiting for responses from remote machines.