Чтение онлайн

ЖАНРЫ

Язык программирования C#9 и платформа .NET5
Шрифт:

Построение выражений запросов с использованием типа Enumerable и анонимных методов

Построение выражений запросов с использованием типа Enumerable и низкоуровневых делегатов

Резюме

Глава 14

Роль процесса Windows

Роль потоков

Взаимодействие с процессами используя платформу .NET Core

Перечисление выполняющихся процессов

Исследование конкретного процесса

Исследование набора потоков процесса

Исследование набора модулей процесса

Запуск и останов процессов программным образом

Управление запуском процесса с использованием класса ProcessStartInfo

Использование команд операционной системы с классом ProcessStartInfo

Домены приложений .NET

Класс System.AppDomain

Взаимодействие со стандартным доменом приложения

Перечисление загруженных сборок

Изоляция сборок с помощью контекстов загрузки приложений

Итоговые сведения о процессах, доменах приложений и контекстах загрузки

Резюме

Глава 15

Отношения между процессом, доменом приложения, контекстом и потоком

Сложность, связанная с параллелизмом

Роль синхронизации потоков

Пространство имен System.Threading

Класс System.Threading.Thread

Получение статистических данных о текущем потоке выполнения

Свойство Name

Свойство Priority

Ручное создание вторичных потоков

Работа с делегатом ThreadStart

Работа с делегатом ParametrizedThreadStart

Класс AutoResetEvent

Потоки переднего плана и фоновые потоки

Проблема параллелизма

Синхронизация с использованием ключевого слова lock языка C#

Синхронизация с использованием типа System.Threading.Monitor

Синхронизация с использованием типа System.Threading.Interlocked

Программирование с использованием

обратных вызовов Timer

Использование автономного отбрасывания (нововведение в версии 7.0)

Класс ThreadPool

Параллельное программирование с использованием TPL

Пространство имен System.Threading.Tasks

Роль класса Parallel

Обеспечение параллелизма данных с помощью класса Parallel

Доступ к элементам пользовательского интерфейса во вторичных потоках

Класс Task

Обработка запроса на отмену

Обеспечение параллелизма задач с помощью класса Parallel

Запросы Parallel LINQ (PLINQ)

Создание запроса PLINQ

Отмена запроса PLINQ

Асинхронные вызовы с помощью async/await

Знакомство с ключевыми словами async и await языка C# (обновление в версиях 7.1, 9.0)

Класс SynchronizationContext и async/await

Роль метода ConfigureAwait

Соглашения об именовании асинхронных методов

Асинхронные методы, возвращающие void

Асинхронные методы, возвращающие void и поддерживающие await

Асинхронные методы, возвращающие void и работающие в стиле "запустил и забыл"

Асинхронные методы с множеством контекстов await

Вызов асинхронных методов из неасинхронных методов

Ожидание с помощью await в блоках catch и finally

Обобщенные возвращаемые типы в асинхронных методах (нововведение в версии 7.0)

Локальные функции (нововведение в версии 7.0)

Отмена операций async/await

Асинхронные потоки (нововведение в версии 8.0)

Итоговые сведения о ключевых словах async и await

Резюме

Часть V

Глава 16

Определение специальных пространств имен

Поделиться с друзьями: