Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прога - ответы2.docx
Скачиваний:
19
Добавлен:
23.04.2019
Размер:
206.38 Кб
Скачать

Некоторые члены класса ProcessThread

CurrentPriority

Текущий приоритет потока

Id

Уникальный идентификатор потока

IdealProcessor

Предпочитаемый процессор для выполнения потока

PriorityLevel

Уровень приоритета потока

ProcessorAffinity

Процессоры, на которых может выполняться поток

StartTime

Время запуска потока

ThreadState

Текущее состояние данного потока

TotalProcessorTime

Время процессора, использованное потоком

WaitReason

Причина, по которой поток находится в состоянии ожидания

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

В .NET исполняемые файлы не обслуживаются прямо внутри процесса Windows, как это происходит в случае традиционных неуправляемых приложений. Вместо этого они обслуживаются в отдельном логическом разделе внутри процесса, который называется доменом приложения (Application Domain — AppDomain). В единственном процессе может содержаться несколько доменов приложений, каждый из которых обслуживает свой исполняемый файл .NET. Такое дополнительное подразделение традиционного процесса Windows предоставляет ряд преимуществ, главные из которых описаны ниже.

  • Домены приложений унифицируют работу с программами в разных ОС

  • Домены приложений менее дорогостоящи в плане потребления вычислительных ресурсов и памяти по сравнению с полноценными процессами. Благодаря этому CLR-среде удается загружать и выгружать домены приложений намного быстрее, чем формальные процессы, и тем самым значительно улучшать масштабируемость серверных приложений.

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

Для работы с доменами приложений используется класс System.AppDomain.

Некоторые члены класс AppDomain:

CreateDomain()

Создать новый домен в текущем процессе

Createlnstance()

Создать экземпляр типа из внешней сборки, загрузив сборку в текущий домен приложения

GetAssemblies()

Сборки .NET, загруженные в текущий домен приложения

GetCurrentThreadld()

Идентификатор активного потока в текущем домене приложения

Load()

Динамически загружает сборку в текущий домен приложения

Unload()

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

BaseDirectory

Каталог, относительно которого ведется поиск сборок

CurrentDomain

Домен приложения для текущего потока

FriendlyName

Имя текущего домена приложения

Setuplnformation

Параметры определенного домена приложения

  1. Многопоточность. Классификация состояний потока. Средства многопоточного программирования System.Threading.

Для многопоточного программирования среда .NET предоставляет пространство имен System.Threading

Некоторые члены пространства имен System.Threading

Thread

Позволяет создавать потоки и управлять ими

Timer

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

ThreadPool

Позволяет использовать пул потоков

Interlocked

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

Monitor

Реализует механизм блокировки потоков для синхронизации. Ключевое слово C# lock неявно использует Monitor

Mutex

Примитив синхронизации, который может быть использован между доменами приложений AppDomain

ParameterizedThreadStart

Позволяет потоку вызывать методы с произвольным числом аргументов

Semaphore

Позволяет ограничить количество получающих доступ к ресурсу потоков

ThreadPriority

Перечисление, содержащее уровни приоритета потока

ThreadStart

Позволяет указать метод для вызова в отдельном потоке

ThreadState

Перечисление, представляющее состояния потока

TimerCallback

Тип делегата для Timer