编程想法是:一个银行账户5000块,两夫妻一个拿着存折,一个拿着卡,开始取钱比赛,每次只能取一千块,要求不准出现线程安全问题。然后用while循环却多输出了一次,用if循环就很正常。这是什么原因。
多个线程同时获取到num=1000时就会出现该现象。
锁的位置问题,把锁加在while之前