Ссылка на основной поток в C # - PullRequest
3 голосов
/ 30 января 2011

Как получить ссылку на основной поток из другого потока в C #?

Зачем это нужно?Возьмем, к примеру, сборку, загруженную в консольное приложение.Эта сборка вызывает другой поток, который хочет ждать (присоединиться) к основному потоку консольного приложения.Как это будет сделано?

Я думал так: в Visual Studio 2010 вы можете проверять информацию о потоках во время отладки.Один из столбцов в окне потоков - это категория, которая указывает, является ли этот поток рабочим или основным потоком.Можно ли получить эту информацию?

Или так: как насчет получения имени функции, которая является точкой входа (основной поток?), И затем повторять все потоки в текущем процессе.Как я могу получить эту информацию?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 30 января 2011

Вы можете сохранить ссылку на Thread.CurrentThread (который будет основным потоком) при создании другого потока.

1 голос
/ 30 января 2011

Нет потока на самом деле основной. После того, как вы создаете больше потоков, перестает быть важным, какой из них является основным. Единственный способ узнать, какой поток был создан первым, - сохранить ссылку на него в каком-то глобальном статическом поле.

...