其他分享
首页 > 其他分享> > bool 不是线程安全

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