shyboy0358 2014-02-19 22:20 采纳率: 0%
浏览 334
已采纳

当当的一道面试题求解

用多线程的方式,将A表中的数据复制到相同结构的B表。
数据量很大,要求速度。
[code="java"]A表结构
ID,

NAME,
STATuS(复制到B表的状态)[/code]

问题是怎么能保证多线读A表的时候,不会读到重复的数据。
不能用同步关键字。当时没想出好的方法,不知道大家有什么好的思路没有。

  • 写回答

10条回答 默认 最新

  • chenyangoutlook 2014-02-20 10:14
    关注

    举例子
    1.搜索到1000条数据
    2.根据ID进行hash运算,最简单方式取余
    3.根据hash运算以及你的CPU内核,execute创建线程池
    4.然后根据hash运算后的结果,分配到不同线程
    5.创建异步任务,任务submit
    6.结束

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(9条)

报告相同问题?