关于并发加锁问题

科比请留步 2017-09-06 10:45:51
1,我想去邮箱进行遍历,来获取新邮件,然后存到数据库,每秒去查询一次,查询到的邮件我还要去库里再查看这个邮件是否保存过,防止重复保存,现在的问题是,如果来了一个新邮件,我还没有插入数据库,下一次遍历就进入了该方法,还是这个邮件判断库里有没有,但是上一次还没有存进去了,写数据库需要时间,所以就会出现保存多次,我的解决办法是加锁,但是我现在做的是多用户方式,也就是同时遍历多个邮箱,这样并发加锁会特别慢。都得等待,有没有什么解决方案?
...全文
225 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
可以尝试将公共的加锁换成对象加锁,因为每个用户是不一样的相当于独立的一个个体。
  • 打赏
  • 举报
回复
可以把遍历到的邮件保存到内存中,数据库报错成功后再从内存中删除邮件就可以了

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧