在C#中引用主线程

时间:2011-01-30 20:37:02

标签: c# multithreading reference main

如何从C#中的另一个线程获取对主线程的引用?

为什么需要这个?例如,加载到控制台应用程序的程序集。这个程序集引发了另一个想要在控制台应用程序的主线程上等待(加入)的线程。它会怎么做?

我想到了这样:在visual studio 2010中,您可以在调试时检查线程信息。线程窗口中的一列是指定线程是工作线程还是主线程的类别。是否有可能获得此信息?

或者这样:获取作为入口点(主线程?)的函数的名称,然后迭代当前进程中的所有线程。我如何获得这些信息?

感谢。

2 个答案:

答案 0 :(得分:2)

您可以在创建另一个线程时存储对Thread.CurrentThread(这将是主线程)的引用。

答案 1 :(得分:1)

没有线程实际上是主要的。在您生成更多线程后,它将停止重要哪一个是主要的。找出首先创建的线程的唯一方法是在某个全局静态字段中保存对它的引用。