数据库中的记录数不确定(因为可能随时都在增加),现拟开启10个线程处理新增加的记录,每线程最多处理10个记录。请问应该怎么设计?
我想的是这样的:设10个线程数组,每个线程处理10个记录(正在处理的记录加上一个标记);
但问题是,如果增加的记录突然超过1000个以上,那应该怎么启动线程去处理?
谢谢。

解决方案 »

  1.   

    还有一种方式:
    你的数据库数据每条记录应该有一个IDENTITY 的字段,比如说id。
    那么规定10个线程每个线程处理一段ID的数据,
    第一线程处理ID={1,10},{101,110},{201,210}......
    第二线程处理ID={11,20},......
    第三线程处理ID={21,30},......
    ...
    第十线程处理ID={91,100},......
    这样周而复始,不用在处理可以判断是否正在被处理。
    这样可以节省很多时间以及空间性能。
    不知道各位有什么看法。
      

  2.   

    唉,其实搞一个字段用来LOCK,就都搞定了,我把问题复杂了