问题如下:
每个用户都可以拿苹果,但最多拿多少个由自己圈里的数字决定,
并且拿的个数不能超过上级剩余的个数,直到拿完为止
举例说明:如图中A、B、C、D、B1所示
例子1:比如A拿5个苹果,则B、C、D、相应都要减少5个,即B最多能拿20,C最多35,D最多95
例子2:比如C中此时剩余12个苹果,其余28个被其下面的其它用户或者自己拿走,此时 如果A(10个)和B1(5个)同时
拿苹果,如果先处理的B1则提示A用户剩余7个,如果先处理的A则提示B1只能拿两个
我的初步想法是每个人拿的时候把相应的整条线加锁,等执行完后释放锁,
但如果把整条线全部锁住后的效率问题,欢迎大家指教