Чтобы создать поток в C#, ты используешь класс Thread из пространства имён System.Threading. Это даёт тебе прямой контроль над созданием и управлением потоками.
Фундаментальный подход состоит из двух шагов:
Start() для начала выполненияThread myThread = new Thread(new ThreadStart(MyFunction));
myThread.Start();
В этом примере MyFunction — это метод, который будет выполняться в отдельном потоке.
Start() – запускает выполнение потока немедленноThreadStart – делегат, который указывает, какой метод должен запустить потокParameterizedThreadStart – альтернативный делегат для передачи аргументов в метод потокаХотя прямое создание Thread даёт точный контроль, Task Parallel Library (TPL) предоставляет более удобную высокоуровневую абстракцию для большинства задач. TPL автоматически управляет пулом потоков и распределением ресурсов.
Task.Run(() => MyFunction());
В новых проектах лучше использовать TPL — если только тебе не нужен низкоуровневый контроль над потоками, который обеспечивает только класс Thread.
Делегат ThreadStart используется, когда нужно передать аргументы в метод потока, а ParameterizedThreadStart используется для методов без параметров.
Новый — ещё не проверен сообществом
Вы