我在 Visual Studio 2010、Windows XP SP3 中运行下面的 C# 代码。
在“不调试就开始”(通过 Ctrl+F5 或从菜单)中,输出:
- 来自主要
的你好 来自工人的你好
“开始调试”(按 F5 或从菜单)显示相反的顺序:
- 来自工人
的你好来自主要的你好
检查了很多次。它是可重现和可重复的。
为什么?
using System;
using System.Threading;
namespace _5NamingThreads
{
class ThreadNaming
{
static void Main()
{
Thread.CurrentThread.Name = "main";
Thread worker = new Thread(Go);
worker.Name = "worker";
worker.Start();
Go();
Console.ReadLine();
}
static void Go()
{
Console.WriteLine("Hello from " + Thread.CurrentThread.Name);
}
}
}
更新:
第二天,重新启动计算机后,我总是观察在所有模式下都可以重现的顺序,发布和调试:
- 来自主要
的你好 来自工人的你好