Name ProcessThread

Я працюю над програмою C#, і я стикаюсь з деякими питаннями потоків. Я хотів би дізнатись, які теми виконуються в моєму додатку.

Я використовую код нижче:

foreach (ProcessThread s in Process.GetCurrentProcess().Threads)
{
  try
  {
    int l_iTest = 0;
    //(Thread) s.name
    //l_liTest += s.Id + ";"; <-- name of the ProcessThread ?
  }
  catch
  {
    //Some stuff
  }}

Моя точка зору, я хотів би знати, який клас або асамбли запустив мою нитку.

Хто-небудь має ідею?

5
@ HansPassant: чи впевнені ви, що неможливо перейти з об'єкта ProcessThread.Id до об'єкта Thread? Це би вирішило його проблеми і шахти теж.
додано Автор Ignacio Soler Garcia, джерело
Ви не можете повернутися з ProcessThread до потоку. Передайте аргумент, якщо вам потрібно знати щось про код, який розпочав потоку.
додано Автор Hans Passant, джерело

1 Відповіді

Погляньте на мою відповідь на це запитання і дізнатися, чи може ваш варіант допомогти вам (тобто ваш потік матиме доступ до глобального сховище відомих потоків у додатку).

1
додано
Наскільки я розумію, цей код передбачає використання класу для запуску нитки, ім'я якого хоче знати? Це, безумовно, не рішення, наприклад Я використовую фонового робочого RunWorkerAsync , і мені потрібно знайти ідентифікатор потоку за його іменем.
додано Автор Hi-Angel, джерело
var chat = new Chat();
var chat = new Chat();
642 учасників

Обсуждение вопросов по C# / .NET / .NET Core / .NET Standard / Azure Сообщества-организаторы: — @itkpi — @dncuug