Создание потоков (Руководство по программированию на C#)
Обновлен: Ноябрь 2007
Потоки позволяют программе C# выполнять параллельную обработку, за счет чего появляется возможность одновременного выполнения нескольких операций. Например, потоки можно использовать для наблюдения ввода данных пользователем, выполнения фоновых задач и обработки одновременных потоков ввода. Пространство имен System.Threading содержит классы и интерфейсы, поддерживающие многопоточное программирование, и позволяет без труда выполнять такие задачи как создание и запуск новых потоков, синхронизация нескольких потоков, приостановка потоков и их отмена.
Чтобы добавить поток в код C#, создайте функцию, которая будет выполняться вне главного потока и укажите в ней новый объект Thread. В следующем примере кода создается новый поток в приложении C#.
System.Threading.Thread newThread;
newThread = new System.Threading.Thread(anObject.AMethod);
В следующем примере кода запускается созданный поток в приложении C#.
newThread.Start();
Многопоточность позволяет решить проблемы оперативности и выполнения нескольких задач, но в то же время означает общее использование ресурсов и вызывает проблемы синхронизации из-за прерывания и возобновления потоков без предупреждения в соответствии с центральным потоком, который управляет механизмом. Дополнительные сведения см. в разделе Синхронизация потоков (Руководство по программированию на C#). Общие сведения см. в разделе Использование потоков и работа с потоками.
Общие сведения
Потоки имеют следующие свойства.
Потоки позволяют программе C# выполнять параллельную обработку.
Пространство имен .NET Framework System.Threading упрощает использование потоков.
Потоки используют одни и те же ресурсы приложения. Дополнительные сведения см. в разделе Использование потоков и работа с потоками.
Разделы по теме
Дополнительные сведения см. в следующих разделах.
Использование потоков (Руководство по программированию на C#)
Практическое руководство. Создание и завершение потоков (Руководство по программированию на C#)
Практическое руководство. Использование пула потоков (руководство по программированию на C#)
Спецификация языка C#
Дополнительные сведения см. в следующих разделах документа Спецификация языка C#:
3.10. Порядок выполнения.
8.12 Оператор lock
10.5.3 Зависимые поля
10.8.1 События-поля
См. также
Задачи
Пример Monitor Synchronization Technology
Пример Wait Synchronization Technology
Основные понятия
Руководство по программированию в C#
Ссылки
Делегаты (руководство по программированию на C#)