现在遇到一个线程安全问题 就是我前端或者接口传来一批数据(List) 插入的时候需要根据这个数据的 factoryId 进行判断,如果这个id存在说明是更新操作,如果不存在则进行插入.但是问题是,如果这个地方,如果有两个线程同时往里写入,A 执行判断是否存在 factoryId,不存在,向里面插入数据,线程B此时也判断是否存在factoryId,如果不存在,也向里面插入数据,那么自然就会连续插入两次.实际上后进入的数据应该执行update操作而不是insert操作.这个地方如果不使用分布式锁,如何处理比较好?如果对这个地方使用synchronize的话,如果能将锁粒度细化,尽可能减少阻塞其他线程.使用JCP?
来源:云原生后端社区
https://www.yuque.com/server_mind/answer
不用 generator,手写个sql好了。insert xx on duplicate key update ...
来源:云原生后端社区
https://www.yuque.com/server_mind/answer
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。