When I run the following code in debug mode, it\'ll successfully finish and exit. However, if I run the following code in release mode, it\'ll get stuck i
Thread Unsafe code is unpredictable. Main problem is changing one thread variable from another thread. Make the variable global or volatile. You can do it by following
static volatile bool stop = false;
static void Main(string[] args)
{
new Thread(() =>
{
Thread.Sleep(1000);
stop = true;
Console.WriteLine("Set \"stop\" to true.");
}).Start();
Console.WriteLine("Entering loop.");
while (!stop)
{
}
Console.WriteLine("Done.");
}