C#窗体 - 为不同的线程获取相同的线程ID

时间:2014-04-24 19:37:31

标签: c# multithreading winforms

我正在使用C#windows窗体应用程序。 我正在通过此代码启动线程

            System.Threading.Thread thread = new System.Threading.Thread(() => ThreadFunctions.FirstThread(this));
        thread.Start();

main threadthread如何拥有相同的ID?

我正在通过此代码打印线程ID。

label.Text = "Thread Main ID: " + System.Threading.Thread.CurrentThread.ManagedThreadId ;

我也开始执行一些任务,并获得相同的ID。

1 个答案:

答案 0 :(得分:3)

如果线程具有相同的ID,则它们是相同的线程。我的猜测是,由于代码出现在代码中以设置标签标题,因此它在主线程上运行。您正在使用Invoke将它放在主线程上,不是吗?

通过在线程中构建包含ID的字符串来处理该问题。这是在UI线程上调用的委托之外。