Новости
04.09.2025
Книга: «C# Concurrency. Асинхронное программирование и многопоточность»
Асинхронные и многопоточные программы могут выполнять несколько задач одновременно, не теряя скорости или надежности. Но правильная организация параллельного выполнения может вызвать затруднения даже у опытных разработчиков. Эта практическая книга научит вас создавать параллельные приложения на C#, работающие с максимальной скоростью и не имеющие взаимоблокировок и других проблем синхронизации, которые ухудшают производительность и требуют огромных усилий для их обнаружения.
«C# Concurrency» помогает получить полное представление об особенностях многопоточности и асинхронного программирования. В ней особое внимание уделено практическому использованию операторов async/await в C# для упрощения асинхронных задач. Вы научитесь избегать распространенных ошибок, обходить классические проблемы многопоточности, такие как состояния взаимоблокировки и гонки, а также узнаете о многих сложных нюансах управления потоками и использования потокобезопасных коллекций.
Что внутри книги?
-
Многопоточность в .NET и механизмы асинхронного программирования.
-
Когда следует и когда не следует использовать методы параллельного выполнения.
-
Многочисленные примеры использования async/await.
Для опытных программистов на C#. Знание асинхронного программирования не требуется.
Кому адресована эта книга?
Эта книга адресована всем разработчикам на C#, желающим получить дополнительные знания о многопоточном и асинхронном программировании. Информация в этой книге применима к любой версии .NET, .NET Core и .NET Framework, выпущенной после 2012 года, а также к Windows и Linux (но только для .NET Core и .NET 5 и более поздних версий, потому что более ранние версии не поддерживались в Linux).
Основное внимание в издании уделяется разработке серверного программного кода, но кое-где затрагиваются также вопросы, касающиеся разработки приложений с графическим интерфейсом.
Перед вами — русскоязычная версия книги, посвящённой многопоточности и асинхронности в .NET. Темы, поднятые здесь, подробно раскрывают, почему так важно грамотно использовать механизмы потоков и асинхронности для ускорения ваших программ, а также помогают избежать распространённых ошибок. В нашем мире повсеместной цифровизации и бесконечно растущих нагрузок, когда приложения должны обрабатывать тысячи и миллионы запросов в секунду, эта книга как никогда актуальна.
Адаптация этого труда на русский язык — результат совместной работы команды энтузиастов, которые постарались не только локализовать книгу, но и сохранить техническую точность, избегая двусмысленности в формулировках. Мы стремились преодолеть языковой барьер и сделать информацию доступной для всех русскоязычных разработчиков, так или иначе связанных с .NET.
Книга раскрывает не только TPL, взаимодействие с потоками и async/await, но и современные Frozen Collections. Мы постарались максимально сохранить, а где-то и расширить контекст рассматриваемых вопросов, чтобы улучшить ваш читательский опыт.
Мы надеемся, что эта книга станет для вас ценным ресурсом — будь вы начинающий разработчик в процессе знакомства с concurrency или опытный инженер в поисках глубоких знаний и понимания этой области .NET.
- Российское сообщество .NET разработчиков DotNetRu
Об авторе
Нир Добовицки (Nir Dobovizki) — архитектор программного обеспечения и старший консультант. Занимается разработкой параллельных и асинхронных систем (в основном для высокопроизводительных серверов) с конца 1990-х. Хорошо знаком с языками, компилирующимися в машинный код, а с момента появления .NET 1.1 в 2003 году использует .NET и язык C#. Работал с несколькими компаниями в медицинской, оборонной и промышленной отраслях, которым помогал решать проблемы, возникающие из-за неправильного использования многопоточного и асинхронного программирования.
Структура издания
Эта книга состоит из двух частей, которые разбиты на 14 глав.
Часть I охватывает основы многопоточности и async/await в C#:
-
глава 1 знакомит с понятиями и терминологией многопоточного и асинхронного программирования;
-
глава 2 посвящена методам, которые использует компилятор .NET для реализации расширенной функциональности;
-
глава 3 — это глубокое погружение в работу async/await;
-
глава 4 объясняет суть многопоточности;
-
глава 5 связывает вместе все, о чем рассказывалось в главах 3 и 4, и демонстрирует связь async/await и многопоточности;
-
глава 6 рассказывает о том, когда следует использовать операторы async/await, потому что сам факт возможности их использования не означает, что они должны использоваться везде;
-
глава 7 завершает первую часть описанием распространенных ошибок в многопоточном программировании и, что еще важнее, приемов, помогающих их избежать.
Часть II посвящена практическому использованию информации, которую вы узнали в част и I:
-
глава 8 рассказывает об обработке данных в фоновом режиме;
-
глава 9 посвящена прерыванию обработки в фоновом режиме;
-
глава 10 учит создавать сложные асинхронные компоненты, которые делают больше, чем просто объединяют встроенные асинхронные операции;
-
в главе 11 обсуждаются продвинутые варианты использования async/await и потоков;
-
глава 12 поможет устранить проблемы с исключениями в асинхронном коде;
-
глава 13 посвящена потокобезопасным коллекциям;
-
глава 14 показывает, как создавать классы, работающие подобно асинхронным коллекциям
Приобрести книгу «C# Concurrency. Асинхронное программирование и многопоточность» можно на нашем сайте.
Комментарии: 0
Пока нет комментариев