用多线程的方式,将A表中的数据复制到相同结构的B表。
数据量很大,要求速度。
[code="java"]A表结构
ID,
NAME,
STATuS(复制到B表的状态)[/code]
问题是怎么能保证多线读A表的时候,不会读到重复的数据。
不能用同步关键字。当时没想出好的方法,不知道大家有什么好的思路没有。
用多线程的方式,将A表中的数据复制到相同结构的B表。
数据量很大,要求速度。
[code="java"]A表结构
ID,
NAME,
STATuS(复制到B表的状态)[/code]
问题是怎么能保证多线读A表的时候,不会读到重复的数据。
不能用同步关键字。当时没想出好的方法,不知道大家有什么好的思路没有。
举例子
1.搜索到1000条数据
2.根据ID进行hash运算,最简单方式取余
3.根据hash运算以及你的CPU内核,execute创建线程池
4.然后根据hash运算后的结果,分配到不同线程
5.创建异步任务,任务submit
6.结束