Что такое Thread в C#?
В C# класс Thread предоставляет возможности для работы с многозадачностью. Он позволяет создавать и управлять потоками выполнения в приложении. Рассмотрим основные концепции и пример использования класса Thread для параллельного выполнения задач.
Основные моменты:
- Потоки выполнения: Поток представляет собой путь выполнения кода в приложении. Многозадачность позволяет создавать и запускать несколько потоков для параллельного выполнения задач.
- Создание и запуск потока: Класс
Threadпредоставляет методы для создания и запуска новых потоков в приложении. - Синхронизация потоков: Важно учитывать вопросы синхронизации при работе с многозадачностью для избежания состязаний данных и других проблем.
class Program
{
static void PrintNumbers()
{
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Thread ID: {Thread.CurrentThread.ManagedThreadId}, Number: {i}");
Thread.Sleep(100);
}
}
static void Main()
{
// Создание и запуск нового потока
Thread newThread = new Thread(PrintNumbers);
newThread.Start();
// Выполнение основного потока
for (int i = 1; i <= 5; i++)
{
Console.WriteLine($"Main Thread ID: {Thread.CurrentThread.ManagedThreadId}, Number: {i}");
Thread.Sleep(150);
}
// Ожидание завершения нового потока
newThread.Join();
Console.WriteLine("All threads completed.");
}
}
Комментарии