请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于多线程的查询缺失的问题

问题描述:
创建线程池,将100万状态为1的数据分成10个线程去查询结果集,过后将结果集合并以后输出。
出现问题:
当线程执行的时候,批量将100个数据状态改为0。而此时线程池执行完以后数据和之前预想查询10万就有缺失

解决: 这种问题如何解决呢?

正在回答 回答被采纳积分+3

1回答

翔仔 2020-08-25 02:34:46

同学好,请问能否换个方式来表达,看了好几次都没看懂是啥意思。。能否举例一下?

0 回复 有任何疑惑可以回复我~
  • 提问者 Bigger_Xu #1
    就是目前有个需求,需要查询100万数据,单个线程查询的话,100万数据比较慢,想开个线程池去查询。用将100万数据分成10份,用线程去跑,然后在通过Future将查询结果合起来。
    现在出现的问题是100万待发货的数据在线程执行的时候,突然有销售将部分发货了,可能线程执行完以后本来的100万待发货的数据只有90多万条,数据缺失了。
    回复 有任何疑惑可以回复我~ 2020-08-26 10:19:08
  • 提问者 Bigger_Xu #2
    如果还不理解  我晚上就贴代码可能就能看懂了   描述可能有问题
    回复 有任何疑惑可以回复我~ 2020-08-26 10:19:44
  • 翔仔 回复 提问者 Bigger_Xu #3
    就是说线程在计算100万数据的时候,有数据被其他业务线程给操作掉了,所以脏了对不,如果是这样的话,需要给数据先上锁,否则就会出现数据有问题。
    回复 有任何疑惑可以回复我~ 2020-08-26 23:23:44
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号