for 循环和while 循环在多线程中会造成不同结果吗

  1. 我自己写了两个卖票的多线程代码,分别采用for循环和while循环来实现票数的减少,发现结果并不一样,请各位师兄师姐帮忙看看问题出在哪里,是不是我写的for循环的思路不对。

这张是它的运行结果,每个线程都要等到上一个线程结束才会执行,是因为同步的问题吗。

 

你的for循环加锁了,while循环没加锁,效果是不一样的,加锁的会先全部执行完才轮到其他的