Пул потоков CLR

Пример:

static void ThreadMethod(object state)

{

}

static void Launch(string [] args)

{

WaitCallback workltem = new WaitCallback(ThreadMethod);

// Поставить в очередь метод десять раз.

for (int i = 0; i < 10; i++)

{

ThreadPool.QueueUserWorkltem(workItem, p);

}

}

Метод ThreadMethod будет поставлен в очередь, после чего система будет выбирать свободные потоки из пула и запускать в них данный метод.

Преимущества использования поддерживаемого CLR пула потоков по сравнению с явным созданием объектов Thread:

1. Пул потоков управляет потоками эффективно, уменьшая количество создаваемых, запускаемых и останавливаемых потоков.

2. Используя пул потоков, можно сосредоточиться на решении задачи, а не на инфраструктуре потоков приложения.

Тем не менее, в некоторых случаях предпочтительно ручное управление потоками.

· Если нужны потоки переднего плана, или должен быть установлен приоритет потока. Потоки из пула всегда являются фоновыми с приоритетом по умолчанию (ThreadPriority. Normal).

· Если требуется поток с фиксированной идентичностью, чтобы можно было прерывать его или находить по имени.


36. Библиотека Windows.Forms. Пространства имен. Структура приложения. Элементы управления. События. Иерархия элементов управления.

Со времени появления платформы.NET среди библиотек базовых классов появился API по имени Windows Forms, предоставляющий типы, необходимые для построения графических пользовательских интерфейсов для настольных компьютеров, создания специализированных элементов управления, управления ресурсами (например, строками и значками) и выполнения других задач, возникающих при программировании для пользовательских компьютеров. Имеется и дополнительный API по имени GDI+, который предоставляет дополнительные типы, позволяющие программисту генерировать двухмерную графику, взаимодействовать с сетевыми принтерами и обрабатывать графические данные.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: