Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Имея такую ссылку, можно управлять основным потоком, как и любым другим.Содержание книги
Поиск на нашем сайте В следующей программе демонстрируется, как получить ссылку на основной поток, узнать его имя и приоритет, а также задать новое имя и приоритет:
// Управление основным потоком. using System; using System.Threading;
class UseMain { public static void Main() { Thread thrd;
// Получаем ссылку на объект основного потока thrd = Thread.CurrentThread;
// Отображаем имя основного потока if (thrd.Name == null) Console.WriteLine("Основной поток не имеет имени."); else Console.WriteLine("Имя основного потока: " + thrd.Name);
// Отображаем приоритет основного потока. Console.WriteLine("Приоритет: " + thrd.Priority); Console.WriteLine();
// Задаем имя и приоритет. Console.WriteLine("Установка имени и приоритета.\n"); thrd.Name = "Основной поток"; thrd.Priority = ThreadPriority.AboveNormal;
Console.WriteLine( "У основного потока теперь есть имя: " + thrd.Name);
Console.WriteLine("Приоритет теперь таков: " + thrd.Priority); } }
Результаты выполнения этой программы таковы:
Основной поток не имеет имени. Приоритет: Normal
Установка имени и приоритета.
У основного потока теперь есть имя: Основной поток Приоритет теперь таков: AboveNormal
Предупреждение: будьте осторожны при выполнении операций над основным потоком. Например, если обращение к методу Join()
thrd.Join();
добавить в конец метода Main(), программа никогда не завершится, поскольку она будет ожидать, пока не завершится основной поток!
Использование класса Timer для управления потоками
Timer – члены класса Открытые конструкторы
Открытые методы
Защищенные методы
Timer - конструктор Инициализирует новый экземпляр класса Timer. Список перегрузки 1. Инициализирует новый экземпляр класса Timer, используя указанное 32-разрядное знаковое целое число для задания временного интервала.
public Timer(TimerCallback, object, int, int);
2. Инициализирует новый экземпляр класса Timer, используя указанное 64-разрядное знаковое целое число для измерения временных интервалов.
public Timer(TimerCallback, object, long, long);
3. Инициализирует новый экземпляр класса Timer, используя значения объекта TimeSpan для измерения временных интервалов.
public Timer(TimerCallback, object, TimeSpan, TimeSpan);
4. Инициализирует новый экземпляр класса Timer, используя указанное 32-разрядное беззнаковое целое число для измерения временных интервалов. Этот конструктор не соответствует спецификации CLS.
public Timer(TimerCallback, object, uint, uint);
|
||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-09-05; просмотров: 259; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.169 (0.008 с.) |