Аннотация
Большинство разработчиков настороженно относятся к конкурентному и многопоточному программированию, опасаясь проблем связанных с взаимной блокировкой, голоданием и др. Стивен Клири поможет разобраться с трудностями и избежать подводных камней, возникающих при решении реальных задач. В вашем распоряжении 85 рецептов работы с .NET и C# 8.0, необходимых для параллельной обработки и асинхронного программирования.
Конкурентность уже стала общепринятым методом разработки хорошо масштабируемых приложений, но параллельное программирование остается непростой задачей. Подробные примеры и комментарии к коду позволят разобраться в том, как современные инструменты повышают уровень абстракции и упрощают конкурентное программирование.
Вы научитесь:
- использовать async и await для асинхронных операций
- расширять возможности кода за счет использования асинхронных потоков
- исследовать потенциал параллельного программирования с библиотекой TPL Dataflow
- создавать конвейеры потоков данных с библиотекой TPL Dataflow
- задействовать функциональность System.Reactive на базе LINQ
- использовать потоково-безопасные и неизменяемые коллекции
- проводить модульное тестирование конкурентного кода
- брать под контроль пул потоков
- реализовывать корректную кооперативную отмену
- анализировать сценарии на предмет объединения конкурентных методов
- пользоваться всеми возможностями асинхронно-совместимого объектно-ориентированного программирования
- распознавать и создавать адаптеры для кода, в котором используются старые стили асинхронного программирования.
Комментарии к книге "Конкурентность в C# [Асинхронное, параллельное и многопоточное программирование. 2-е межд. изд.]"