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

Использование System.Threading.Timer

void ThreadMethod(object param)

{

}

...

// Создать делегат для выполнения в отдельном потоке

TimerCallback timeCB = new TimerCallback(ThreadMethod);

// Установить настройки таймера.

Timer t = new Timer(

timeCB, // Объект-делегат TimerCallback.

null, // Информация для передачи в вызванный метод

0, // Время перед запуском (в миллисекундах).

1000 // Время между вызовами (в миллисекундах) .

);

Пул потоков 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).

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

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

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

Основные пространства имен Windows Forms

  • System.Windows.Forms реализует следующие категории типов

    • Базовая инфраструктура: типы Form, Application, типы для работы с ActiveX и WPF.

    • Элементы управления: производные от Control, например Button, MenuStrip, ProgressBar , DataGridView.

    • Компоненты: не порожденные от Control, однако предоставляющие графические возможности, например ToolTip, а также компоненты вроде Timer, невидимые во время выполнения.

    • Окна стандартных диалогов: вроде OpenFileDialog, PrintDialog и ColorDialog.

  • System.Resources реализует типы для работы с файлами ресурсов (*.resx)

  • System.Windows.Forms.VisualStyles предоставляет типы для управления визуальными стилями приложений

  • System.Drawing позволяет использовать базовую функциональность графической подсистемы GDI+

  • System.Drawing.Drawing2D реализует вывод двумерной векторной графики

  • System.Drawing.Imaging предоставляет возможность работы с изображениями

  • System.Drawing.Text содержит функции для вывода текста

  • System.Drawing.Printing реализует управление печатью