两个不同的账户登录两个浏览器,导入同样的excel表格。数据出现重复

1.场景:

两个不同的账户登录两个浏览器,导入同样的excel表格。业务逻辑已经有验重校验,但数据仍然出现重复,锁定是并发问题导致。

2.参考博客:

https://cloud.tencent.com/developer/article/1354441 synchronized锁处理spring事务高并发请求

https://blog.csdn.net/u011974797/article/details/94459700 关于service层加synchronized关键字的坑

https://www.cnblogs.com/weixuqin/p/11429005.html synchronized(修饰方法和代码块)

https://www.cnblogs.com/dream-to-pku/p/6296608.html synchronized同步语句块

3.原因解析:

好多用户同时请求同一个controller请求,而且用户传的都是同样的数据。虽然controller中有对数据重复校验,但是因为多个线程同时进行,无法数据验重;

因为每个线程同时进行,数据验重其实都是还没有重复的,只有线程一个一个进行,才会保证上一个线程完了,下一个线程对最新的数据进行验重。

猜你喜欢

转载自www.cnblogs.com/super-chao/p/11687505.html