Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Получение информации об отдельном потоке

Получение информации об отдельном потоке

Напомним, что точка входа компоновочного блока (т.е. метод Main()) при выполнении оказывается в первичном потоке. Чтобы привести типичный пример использования типа Thread, предположим, что у нас есть новое консольное приложение с именем ThreadState. Вы знаете, что статическое свойство Thread.СurrentThread позволяет получить тип Thread, представляющий выполняемый в настоящий момент поток. Получив текущий поток, вы можете вывести на экран различную информацию о потоке.

// Не забудьте указать 'using' для пространства имен System.Threading.
static void Main(string[] args) {
 Console.WriteLine("***** Информация первичного потока *****n");
 // Получение текущего потока и назначение ему имени.
 Thread primaryThread = Thread.CurrentThread;
 primaryThread.Name = "ThePrimaryThread";
 // Подробности хостинга домена приложения и контекста.
 Console.WriteLine("Имя текущего домена приложения: {0}";
 Thread.GetDomain().FriendlyName);
 Console.WriteLine("Идентификатор текущего контекста: {0}", Thread.CurrentContext.ContextID);
 // Вывод информации о данном потоке.
 Console.WriteLine("Имя потока: {0}", primaryThreаd.Name);
 Console.WriteLine("Запущен ли поток? {0}", primaryThread.IsAlive);
 Console.WriteLine("Уровень приоритета: {0}", primaryThread.Priority);
 Console.WriteLine("Состояние потока: {0}", primaryThread.ThreadState);
 Console.ReadLine();
}

На рис. 14.5 показан вывод этого приложения.


Рис. 14.5. Сбор статистики о потоке

Оглавление книги


Генерация: 2.186. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз