我正在使用C#windows窗体应用程序。 我正在通过此代码启动线程
System.Threading.Thread thread = new System.Threading.Thread(() => ThreadFunctions.FirstThread(this));
thread.Start();
main thread
和thread
如何拥有相同的ID?
我正在通过此代码打印线程ID。
label.Text = "Thread Main ID: " + System.Threading.Thread.CurrentThread.ManagedThreadId ;
我也开始执行一些任务,并获得相同的ID。
答案 0 :(得分:3)
如果线程具有相同的ID,则它们是相同的线程。我的猜测是,由于代码出现在代码中以设置标签标题,因此它在主线程上运行。您正在使用Invoke
将它放在主线程上,不是吗?
通过在线程中构建包含ID的字符串来处理该问题。这是在UI线程上调用的委托之外。