为什么我用线程写售票问题会出现负数

我已经进行判断了为什么会出现这种问题呀,很不理解,(我是刚学线程,我表示很不理解)

img

img

<0的判断放到Y()方法里

线程在sleep的时候,另一个线程也进入的while(x > 0)的判断,这个时候还没卖掉票,x还没还没有减1,在卖票之前也要判断x是否大于0