Опираясь на хорошее понимание вами сборок, в этой главе подробно раскрывается внутреннее устройство загруженной исполняемой сборки .NET Core. Целью главы является иллюстрация отношений между процессами, доменами приложений и контекстными границами. Упомянутые темы формируют основу для главы 15, где будет исследоваться конструирование многопоточных приложений.
Глава 15. Многопоточное, параллельное и асинхронное программирование
Эта глава посвящена построению многопоточных приложений. В ней демонстрируются приемы, которые можно использовать для написания кода, безопасного к потокам. Глава начинается с краткого напоминания о том, что собой представляет тип делегата .NET Core, и объяснения внутренней поддержки делегата для асинхронного вызова методов. Затем рассматриваются типы из пространства имен System.Threading
и библиотека параллельных задач (Task Parallel Library — TPL). С применением TPL разработчики могут строить приложения .NET Core, которые распределяют рабочую нагрузку по всем доступным процессорам в исключительно простой манере. В главе также раскрыта роль API-интерфейса Parallel LINQ, который предлагает способ создания запросов LINQ, масштабируемых среди множества процессорных ядер. В завершение главы исследуется создание неблокирующих вызовов с использованием ключевых слов async/await
, введенных в версии C#5, локальных функций и обобщенных возвращаемых типов async
, появившихся в версии C#7, а также асинхронных потоков, добавленных в версии C#8.
Часть V. Программирование с использованием сборок .NET Core
Эта часть книги посвящена деталям формата сборок .NET Core. Здесь вы узнаете не только о том, как развертывать и конфигурировать библиотеки кода .NET Core, но также о внутреннем устройстве двоичного образа .NET Core. Будет описана роль атрибутов .NET Core и распознавания информации о типе во время выполнения. Кроме того, объясняется роль исполняющей среды динамического языка (DLR) и ключевого слова dynamic
языка С#. В последней главе части рассматривается синтаксис языка CIL и обсуждается роль динамических сборок.
Глава 16. Построение и конфигурирование библиотек классов
На самом высоком уровне термин "сборка" применяется для описания двоичного файла, созданного с помощью компилятора .NET Core. Однако в действительности понятие сборки намного шире. Вы научитесь создавать и развертывать сборки и узнаете, в чем отличие между библиотеками классов и консольными приложениями, а также между библиотеками классов .NET Core и .NET Standard. В конце главы раскрываются новые возможности, доступные в .NET 5, такие как однофайловое автономное развертывание.
Глава 17. Рефлексия типов, позднее связывание и программирование на основе атрибутов
В этой главе продолжается исследование сборок .NET Core. Здесь будет показано, как обнаруживать типы во время выполнения с использованием пространства имен System.Reflection
. Посредством типов из упомянутого пространства имен можно строить приложения, способные считывать метаданные сборки на лету. Вы также узнаете, как загружать и создавать типы динамически во время выполнения с применением позднего связывания. Напоследок в главе обсуждается роль атрибутов .NET Core (стандартных и специальных). Для закрепления материала в главе демонстрируется построение расширяемого приложения с подключаемыми оснастками.
Глава 18. Динамические типы и среда DLR
В версии .NET 4.0 появился новый аспект исполняющей среды. NET, который называется
Глава 19. Язык CIL и роль динамических сборок
В последней главе этой части преследуется двойная цель. В первой половине главы рассматривается синтаксис и семантика языка CIL, а во второй — роль пространства имен System.Reflection.Emit
. Типы из указанного пространства имен можно применять для построения ПО, которое способно генерировать сборки .NET Core в памяти во время выполнения. Формально сборки, которые определяются и выполняются в памяти, называются
Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT