Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗csSpCcSt 356 of 509 menu
◀ ▶

Запуск потока в C#

Конструктор Thread принимает ParameterizedThreadStart - делегат с параметром object. Значение передаётся вторым шагом через Start(state), без захвата общих полей из замыкания.

Аргумент приходит как object, поэтому в потоке его приводят к int. Главный поток ждёт завершения, чтобы программа не закрылась раньше вывода.

Передадим в поток число 12. Поток получил тот же объект, который передали при запуске. Если привести к int значение другого типа, возникнет InvalidCastException:

Thread t = new(state => Console.WriteLine((int)state)); // выведет 12 t.Start(12); t.Join();

Запустите поток и передайте ему строку "ready". В потоке приведите аргумент к строке и выведите её в консоль.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить