bool 不是线程安全
作者:互联网
1 static bool isStop = false; 2 static void Main() 3 { 4 var t = new Thread(() => 5 { 6 var isSuccess = false; 7 8 while (!isStop) 9 { 10 isSuccess = !isSuccess; 11 } 12 }); 13 14 t.Start(); 15 16 Thread.Sleep(1000); 17 isStop = true; 18 t.Join(); 19 20 Console.WriteLine("主线程执行结束!"); 21 Console.ReadLine(); 22 }
在debug版本没问题,在release版本下不能执行到打印“主线程执行结束!"这一步。
改变
static bool isStop = false;=》
static voliate bool isStop = false;则没有问题
标签:线程,false,isStop,Console,isSuccess,安全,bool,static 来源: https://www.cnblogs.com/zsx-blog/p/14889224.html