日期:2014-05-18  浏览次数:21040 次

请教一个程序设计的问题!应该很easy

大概操作如下:

DB中存了一大堆任务列表,可能有10000多条,每读取一次之后,就对此任务做一次操作。

任务完成后更新任务列表,大概就是更新这个任务完成的成功次数,失败次数,还有最后更新时间之类的东东。

因为完成一次任务的时间比较长,大概需要半分钟。所以此程序采用的多进线程工作。


我现在是这样设计的:

1 把DataSet 设为公用的,由主进程完成读取数据,并放入全局dataset
2 然后多个进程来读取它第一次读取一个datarow,用lock来控制,完成操作后对datarow进行更新。
3 当然还定义了一个全局的index 表示dataRow的行号。当index = = dataset.table.rows.count时,表示任务已经完成
  所有的线程就退出来

4 最后主线程再执行adapter.update操作。


另一種我是想做成一個List<T>(當然也是全局的)把任務全放這里面,然后把數據庫,讀取和更新的操作單獨寫出來。

就不用dataset了。

小弟不知道哪一種更好一些,效率更好,謝謝了!







------解决方案--------------------
如果要对数据库数据进行操作的话,用dataset