最主要的原因是休眠之后的线程被唤醒之后接着执行休眠后的代码,这时候的数据可能被其他线程修改了,所以说可能会造成异常.但是while循环在唤醒之后因为有while关键字的存在会再次检查是否满足条件.从而保证每次条件都是满足的.具体代码参考:
https://blog.csdn.net/HD243608836/article/details/97754956
最主要的原因是休眠之后的线程被唤醒之后接着执行休眠后的代码,这时候的数据可能被其他线程修改了,所以说可能会造成异常.但是while循环在唤醒之后因为有while关键字的存在会再次检查是否满足条件.从而保证每次条件都是满足的.具体代码参考:
https://blog.csdn.net/HD243608836/article/details/97754956