摘要: 结论:如果在service层的方法上同时使用事务和同步锁无法保证数据同步。 1 @Service 2 public class ServiceImpl{ 3 4 private static Lock lock = new ReentrantLock(false); 5 6 @Transaction 阅读全文
posted @ 2019-10-30 16:50 猿了个码 阅读(2264) 评论(0) 推荐(0) 编辑
摘要: 一.前言 最近项目遇到多线程并发的情景(并发抢单&恢复库存并行),代码在正常情况下运行没有什么问题,在高并发压测下会出现:库存超发/总库存与sku库存对不上等各种问题。 在运用了 限流/加锁等方案后,问题得到解决。 限流方案见本人另一篇博客:Guava-RateLimiter实现令牌桶限流 加锁方案 阅读全文
posted @ 2019-10-30 15:58 猿了个码 阅读(965) 评论(0) 推荐(0) 编辑