老师,问您一个多线程更新数据的问题

来源:14-25 相关内容

奶茶三兄弟d

2020-11-12

多线程更新数据的问题,就是一个线程池中我要更新280W的数据,这个线程池固定是 10个线程,

然后每次一个线程执行 更新 500条数据, 那280W / 500 = 5600,然后 for循环5600次,

每次线程池提交一个线程任务,就是上面说的更新500条数据,然后现在存在的问题是由于多线程的环境,

多个线程可能在更新重复的数据,导致最后可能出现少更新了一些数据,按照正常理想的情况下,应该是第一个线程

更新500条数据,第二线程继续更新后面500条数据,以此类推,这样就不会出现漏更新的问题,但是这样不就是

等于排队了,那么用多线程就没意义了,老师有什么方案嘛

写回答

1回答

悟空

2020-11-13

这个场景通常是要给每个线程分配不同的任务,任务一开始就是带序号的,比如线程1更新1-500,线程2更新501-1000,这样就不会造成重复。

0
3
奶茶三兄弟d
回复
悟空
好的,谢谢老师
2020-11-13
共3条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程