Содержание
- 2. Нововведения в Parallel Computing Parallel Pattern Library Resource Manager Task Scheduler Task Parallel Library Parallel LINQ
- 3. Демо - Parallel Sudoku
- 4. Work Накладые расходы при паралелизме Необходимо деление операций Выполнения потоков вызывает лишние накладные расходы Чем больше
- 5. Global Queue Рабочий поток N Рабочий поток 1 ThreadPool в .NET 3.5 … Item 7 Item
- 6. ThreadPool в .NET 4 Lock-Free Global Queue Local Work-Stealing Queue Local Work-Stealing Queue Work Thread 1
- 7. Task – новый тип для многопоточности ThreadPool.QueueUserWorkItem Хорошо подходит для того чтобы стартовать и «забыть» Но
- 8. Демо – Task, Concurrent collection
- 9. Новые примитивы синхронизации Thread-safe, scalable collections IProducerConsumerCollection ConcurrentQueue ConcurrentStack ConcurrentBag ConcurrentDictionary Phases and work exchange Barrier
- 10. Распараллеливаем циклы Control flow is a primary source of work Распаралеливаем если итерации независимы «Синхронное» поведение,
- 11. Легко с LINQ на PLINQ LINQ to Objects: int[] output = arr .Select(x => Foo(x)) .ToArray();
- 12. Легко с LINQ на PLINQ PLINQ может выполнить все LINQ запросы Простые запросы – проще выполнить
- 13. Демо – PLINQ
- 14. Отлаживаем параллелизм Concurrency Profiler Parallel Debugger Parallel tasks Parallel stack
- 15. Демо – Profiler views, debugger tools
- 16. Cсылки и источники DevCenter http://msdn.com/concurrency Исходные коды примеров http://code.msdn.microsoft.com/ParExtExamples Блоги http://blogs.msdn.com/pfxteam Parallel stack Доклады, видео http://channel9.msdn.com/learn
- 18. Скачать презентацию