Parallel Extensions для .net 3.5
http://habrahabr.ru/blogs/net/45732/
На мой взгляд самая удачная статья для ознакомления с библиотекой Parallel Extensions. Описывается структура библиотеки и введение в Task Parallel Library.
Оптимизация управляемого кода для многоядерных компьютеров
http://msdn.microsoft.com/ru-ru/magazine/cc163340.aspx
Достаточно объемная статья. Интересен пример, в котором показывается три варианта реализации алгоритма: однопоточный, многопоточный с использованием стандартного API в .NET, многопоточный с использованием Parallel Extensions.
Несколько полнее описан Task Parallel Library. Описываются задания (Task) и диспетчер заданий (TaskManager), правда с момента написания статьи произошли небольшие изменения в API.
Блог команды, которая занимается разработкой Parallel Extensions
http://blogs.msdn.com/pfxteam/default.aspx
В блоге доступна обширная информация по API библиотеки и описаны типовые сценарии.
Multiple thread-local state elements in a loop
http://blogs.msdn.com/pfxteam/archive/2008/05/28/8556655.aspx
Описывается работа с типом ParallelState
Coordination Data Structures Overview
http://blogs.msdn.com/pfxteam/archive/2008/06/18/8620615.aspx
Coordination Data Structures – LazyInit
http://blogs.msdn.com/pedram/archive/2008/06/02/coordination-data-structures-lazyinit-t.aspx
По двум ссылкам выше, описываются структуры, которые можно использовать в многопоточных сценариях. Как правило эти структуры достаточно слабо описывают в статьях, которые посвящены библиотеке Parallel Extensions.
Waltzing Through the Parallel Extensions June CTP: Synchronization Primitives
http://blogs.microsoft.co.il/blogs/sasha/archive/2008/06/11/waltzing-through-the-parallel-extensions-june-ctp-synchronization-primitives.aspx
Есть элементы синхронизации в .NET, а есть и в Parallel Extensions. :)
Да, я знаю что это такое и зачем это нужно, но мне лень это описывать :)
TaskManager – The Range Rover of the .Net 4 Parallel Extensions
http://www.lovethedot.net/2009/03/taskmanager-range-rover-of-net-4.html
Очень хорошо описывается интерфейс класса TaskManager. Этот класс нужно использовать, если вам необходимо явно указать сколько процессоров/потоков вы готовы отдать планировщику. По-умолчанию планировщик использует все доступные ресурсы CPU.
Вы дотошны и предпочитаете во всем докапываться до самой сути вещей. Перед покупкой сложной техники вы обязательно потратите кучу времени на сравнение всех возможных моделей пока не узнаете про них все. Порой вы иронично посмеиваетесь над серьезностью этого мира, но мало кто так же хорошо, как и вы, понимает, насколько хрупкая и сложная игрушка этот самый мир.