引入
今天我在写代码时发现一个不算复杂的问题,如果多个线程同时操作同一个对象,会不会出现一些问题?
问题
我用一个抢票做案例
如上图所示,这个时很简单的开启线程方式,但我利用了2个线程同时操作一个对象,这时什么情况下会出现问题?
![O_(N}U3A6SYA}01M6JCCAP.png
效果
在A等待的情况下他是会出现问题的,我觉得可能时因为A还没抢B就已经抢完了,这种情况需要把方法设置成 synchronized 就可以了
今天我在写代码时发现一个不算复杂的问题,如果多个线程同时操作同一个对象,会不会出现一些问题?
我用一个抢票做案例
如上图所示,这个时很简单的开启线程方式,但我利用了2个线程同时操作一个对象,这时什么情况下会出现问题?
![O_(N}U3A6SYA}01M6JCCAP.png
在A等待的情况下他是会出现问题的,我觉得可能时因为A还没抢B就已经抢完了,这种情况需要把方法设置成 synchronized 就可以了