Я использую ThreadPool
для выполнения набора задач в службе Windows. Служба генерирует новые потоки каждые 10 секунд. Я хотел бы записать имя потока, который взял конкретную задачу из базы данных. Можно ли получить имя потока?
Название потока в ThreadPool - С#
Ответ 1
Не знаю, назначены ли потоки ThreadPool значимым Name, но вы всегда должны иметь возможность использовать ManagedThreadId CurrentThread для целей отладки/ведения журнала.
Ответ 2
Самый простой способ для этого - из контекста каждого потока, поскольку у вас есть доступное свойство CurrentThread и все свойства, которые приписываются потоку:
System.Threading.Thread.CurrentThread.Name
Как и в предыдущем посте, упоминалось, насколько это значимо, потому что в пуле потоков я не уверен.
Ответ 3
Не пытайтесь изменять состояние потока при использовании потоков из пула. Эти потоки не принадлежат вам, они принадлежат среде выполнения. Вы не хотите менять вещи, которыми не владеете.