Многие персональные компьютеры и рабочие станции имеют два или четыре ядра (то есть, ЦП), позволяющие нескольким потокам выполняться одновременно. В ближайшем будущем ожидается, что компьютеры будут иметь значительно больше ядер. Уже сегодня можно пользоваться возможностями аппаратного обеспечения - параллелизировать код, чтобы распределить работу между несколькими процессорами. В прошлом параллелизация требовала низкого уровня обработки потоков и блокировок. Visual Studio 2010 и .NET Framework 4 поддерживают параллельное программирование путем предоставления новой среды CLR, новые типы библиотек классов и новые средства диагностики. Данные возможности упрощают разработку параллельных программ, так что вы можете написать эффективное и масштабируемое приложение без необходимости работать непосредственно с потоками или пулом потоков.