线程安全是指一个方法或某段代码可以在多个线程中正确执行,不会出现数据不一致或数据污染的情况。我们称这样的程序是线程安全的,反之亦然。不是线程安全的。比如银行里只有张三处理业务,这种情况在程序中称为单线程执行,单线程执行是没有问题的,也就是线程安全的。但是突然有一天,很多人同时来办事。这种情况称为多线程执行。如果大家手忙脚乱地一起处理业务,很可能会出现错误,这种错误就叫做非线程安全。如果大家能够有条不紊地排队办理业务,工作人员不会出错,我们称这种情况为线程安全的。问题演示接下来我们在程序中演示一个非线程安全的例子。我们先创建一个等于0的变量number,然后启动线程1执行number++操作100万次,然后启动线程2执行number--操作100万次,等待线程1和2都执行完毕。正确的结果数应该是0,但是在没有干预的情况下多线程执行的结果与预期的正确结果不一致,如下代码所示:publicclassThreadSafeTest{//globalvariableprivatestaticintnumber=0;//循环次数(100W)privatestaticfinalintCOUNT=1_000_000;publicstaticvoidmain(String[]args)throwsInterruptedException{//线程1:执行100Wnumber+1个操作Threadt1=newThread(()->{for(inti=0;i
