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