有这么一个需求。同一个方法,如果有人先执行了,就锁定这个方法,其他人不能执行

有这么一个需求。同一个方法,如果有人先执行了,就锁定这个方法,其他人不能执行,防止生成重复的数据。这个如何实现?

评论区

fox

2022-12-22 08:45

不知这个思路可否:在后台建一个表,执行这个方法前先检查该表是是否有对应记录,如没有再执行,同时向表插入一条记录作为标记,这个方法执行完再删除对应的这条记录。

steven_lhcb_9527

2022-12-22 09:47

阻塞队列放一个值,执行方法前先获取这个值,获取到就执行,没获取到就等待。执行玩把值放回去。

北流家园网

2022-12-25 10:23

已解决,谢谢各位

jfinal爱好者22

2022-12-29 15:22

直接上锁完事,你这需求真奇怪。这么做你的项目还有性能吗?

北流家园网

2022-12-30 15:05

@jfinal爱好者22 上锁不能提示前台了。就好像一个订单,10个人同时付款,肯定只人一个人付款就得了,有人付款了,要提示其他人不需要再付款。