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

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

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

Автор:

Год:

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

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

О чём эта книга?

Книга построена по принципу «от простого к сложному» и охватывает все ключевые темы:

  • Основы многопоточности: что такое потоки, пулы потоков и как с ними работать в .NET.
  • Асинхронное программирование: глубокое погружение в паттерн async/await, Task и ValueTask, управление контекстом синхронизации.
  • Task Parallel Library (TPL): параллельные циклы, задачи, класс Parallel и эффективная обработка данных.
  • Синхронизация и блокировки: мониторы, мьютексы, семафоры, ReaderWriterLockSlim и lock-free подходы.
  • Потокобезопасные коллекции: ConcurrentDictionary, ConcurrentQueue, BlockingCollection и каналы (Channels).
  • Обработка ошибок и отладка: как ловить исключения в асинхронном коде, избегать deadlock'ов и race condition.
  • Реактивное программирование: введение в Rx.NET и работу с потоками событий.
  • Продвинутые техники: Dataflow (TplDataflow), IAsyncEnumerable, параллелизм с Span и Memory.

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

Книга будет полезна:

  • Разработчикам C#, которые хотят понять, как писать асинхронный код без ошибок и утечек.
  • Архитекторам ПО, проектирующим высоконагруженные системы на .NET.
  • Тимлидам, которые хотят внедрить лучшие практики конкурентности в своих командах.
  • Студентам и джуниорам, желающим освоить одну из самых сложных тем в программировании.

Для чтения требуется уверенное знание синтаксиса C# и базовое понимание работы операционной системы.

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

  • Как правильно использовать async/await, чтобы не блокировать UI и не убивать производительность сервера.
  • Как распараллелить вычисления на многоядерных процессорах с помощью TPL.
  • Как безопасно разделять данные между потоками без риска гонок и взаимных блокировок.
  • Как тестировать и отлаживать многопоточный код.
  • Как строить конвейеры обработки данных с помощью TPL Dataflow.
  • Как избегать типичных антипаттернов (например, «sync over async»).

Все примеры кода актуальны для .NET 8 и более поздних версий, включая .NET 9. Книга содержит множество практических заданий и готовых решений, которые можно сразу применить в реальных проектах. Независимо от того, пишете ли вы десктопное приложение на WPF, веб-сервис на ASP.NET Core или облачную функцию на Azure, знания из этой книги помогут вам сделать ваш код быстрее, стабильнее и масштабируемее.

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