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

Идентификатор потока в C#

Свойство Thread.CurrentThread.ManagedThreadId возвращает числовой идентификатор текущего управляемого потока. Он удобен для диагностических сообщений и журналов.

Главный поток и созданный через Thread рабочий поток имеют разные идентификаторы. Сами числа заранее неизвестны, поэтому программа должна сравнивать их, а не ожидать конкретные значения.

Сохраним оба идентификатора и проверим, что они различаются. Первые две строки содержат разные числа, а третья - True. Ожидание нужно, чтобы рабочий поток успел записать свой идентификатор до вывода:

int mainId = Thread.CurrentThread.ManagedThreadId; int workerId = 0; Thread worker = new(() => { workerId = Thread.CurrentThread.ManagedThreadId; }); worker.Start(); worker.Join(); Console.WriteLine(mainId); Console.WriteLine(workerId); Console.WriteLine(mainId != workerId);

Запустите два рабочих потока. В каждом сохраните идентификатор своего потока в отдельное поле. После завершения обоих выведите, отличаются ли эти поля друг от друга и от идентификатора главного потока.

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