logo
CSharp_Prog_Guide

Создание потоков

Потоки позволяют программе C# выполнять параллельную обработку, за счет чего появляется возможность одновременного выполнения нескольких операций. Например, потоки можно использовать для наблюдения ввода данных пользователем, выполнения фоновых задач и обработки одновременных потоков ввода. Пространство имен System.Threading содержит классы и интерфейсы, поддерживающие многопоточное программирование, и позволяет без труда выполнять такие задачи как создание и запуск новых потоков, синхронизация нескольких потоков, приостановка потоков и их отмена.

Чтобы добавить поток в код C#, создайте функцию, которая будет выполняться вне главного потока и укажите в ней новый объект Thread. В следующем примере кода создается новый поток в приложении C#.

System.Threading.Thread newThread;

newThread = new System.Threading.Thread(anObject.AMethod);

В следующем примере кода запускается созданный поток в приложении C#.

newThread.Start();

Многопоточность позволяет решить проблемы оперативности и выполнения нескольких задач, но в то же время означает общее использование ресурсов и вызывает проблемы синхронизации из-за прерывания и возобновления потоков без предупреждения в соответствии с центральным потоком, который управляет механизмом.