Конкурентность в C# (.NET): Асинхронность, параллелизм и многопоточность — Антон Соловьёв — обложка книги
300 страниц
C# (.NET)
PDF
4.5

Конкурентность в C# (.NET): Асинхронность, параллелизм и многопоточность

Полное руководство по написанию высокопроизводительных и отказоустойчивых .NET-приложений

Автор:

Год:

Краткое содержимое:

Современные .NET-приложения обязаны быть быстрыми и отзывчивыми, а это невозможно без понимания конкурентности. Книга «Конкурентность в C# (.NET)» — это практическое руководство, которое шаг за шагом проведёт вас от основ асинхронного программирования до сложных сценариев параллельной обработки данных и построения распределённых систем.

Вы узнаете, как правильно использовать async и await, управлять задачами (Task), избегать блокировок и синхронизировать доступ к общим ресурсам. Отдельное внимание уделено библиотеке TPL (Task Parallel Library), параллельным циклам (Parallel.For, Parallel.ForEach), а также работе с ConcurrentCollection и PLINQ.

Для кого эта книга:

  • Разработчиков C#, которые хотят перейти от простых однопоточных приложений к высоконагруженным системам.
  • Backend-инженеров, работающих с ASP.NET Core, SignalR и микросервисами.
  • Специалистов, сталкивающихся с проблемами производительности (гонки данных, deadlock'и, starvation).
  • Всех, кто хочет понять разницу между асинхронностью, многопоточностью и параллелизмом на платформе .NET.

Что вы узнаете:

  • Как работает планировщик задач (TaskScheduler) и пул потоков .NET.
  • Как правильно проектировать async-методы и избегать скрытых ошибок (например, захват контекста синхронизации).
  • Как использовать Channel, SemaphoreSlim, ReaderWriterLockSlim и другие примитивы синхронизации.
  • Как реализовать паттерны Producer-Consumer, Pipeline и MapReduce на C#.
  • Как тестировать и отлаживать конкурентный код с помощью System.Threading.Channels и Microsoft.Diagnostics.Tracing.
  • Как применять IAsyncEnumerable для потоковой обработки данных.

Книга содержит множество примеров кода, готовых к использованию в реальных проектах. Вы научитесь писать не только быстрые, но и безопасные программы, устойчивые к состоянию гонки и взаимным блокировкам. После прочтения вы сможете уверенно проектировать системы, которые эффективно используют многоядерные процессоры и асинхронные операции ввода-вывода.

Конкурентность в C# (.NET) — это не просто теория, а набор инструментов и приёмов, которые сразу повысят качество вашего кода и производительность приложений. Идеально для тех, кто хочет перейти на новый уровень разработки под .NET.

Рекомендаций