ADO+ACCESS和多线程问题(200分)

  • 主题发起人 萧西风
  • 开始时间

萧西风

Unregistered / Unconfirmed
GUEST, unregistred user!
各位高手!
紧急求教!

我现在数据接收之后进行处理,要写入数据库中!一边接收一边写数据,单线程感觉非常慢,而且有时候感觉比较卡,因为数据速度比较快,1秒有好几个数据,因此很影响速度,想用多线程解决!
但是不得法。。。。
请高手指教1,2!
 
和樓主有同樣的想法,關注此問題
 
你感觉卡是因为 你的处理放在了主线程,你要把接收和写数据放在一个子线程,这样就不会卡了,用Delphi的线程类很容易的,有很多资料,例如 http://blog.csdn.net/qsdnet/archive/2006/09/02/1162865.aspx
 
数据很快!还是郁闷,不得法!
 
来自:老人家, 时间:2008-6-19 11:47:35, ID:3902653
你感觉卡是因为 你的处理放在了主线程,你要把接收和写数据放在一个子线程,这样就不会卡了,用Delphi的线程类很容易的,有很多资料,例如
可以具体一些么?!
 
如果 你不会使用TThread我帮不了你,你也该自己看一下书吧
 
来自:老人家, 时间:2008-6-19 13:43:57, ID:3902681
如果 你不会使用TThread我帮不了你,你也该自己看一下书吧
可能我用的方法不对,不过我是模仿用的阿!
但是更新很少的数据,才1万条。。。显得很卡。。纳闷了!
 
来自:老人家, 时间:2008-6-19 13:43:57, ID:3902681
如果 你不会使用TThread我帮不了你,你也该自己看一下书吧
就是不会使用TThread才来求救阿!要是会用,还用来问么?大虾。。。。
 
不知道你接收并处理数据的保存是修改已有的数据还是直接把修改后的数据拖入入到库中。如果是插入这比较好办点,不用考虑线程更新数据库时的独占问题,直接把要插入的数据以记录变量的形式传给线程就行了。如果是修改操作,考虑是不是有可能多个线程会同时更新同一条数据,这种情况还得考虑线程的同步,所以更新操作还得放到主进程中。
 
来自:xcplates, 时间:2008-6-19 19:33:09, ID:3902760
不知道你接收并处理数据的保存是修改已有的数据还是直接把修改后的数据拖入入到库中。如果是插入这比较好办点,不用考虑线程更新数据库时的独占问题,直接把要插入的数据以记录变量的形式传给线程就行了。如果是修改操作,考虑是不是有可能多个线程会同时更新同一条数据,这种情况还得考虑线程的同步,所以更新操作还得放到主进程中。
是更新!UPdate
所以。。。一共需要更新5万个记录。。。。[:D]
 
这个问题,你用数据库不能很好的解决。因为你的每一次操作都需要读写数据库,这样将导致你的数据库越来越大,读写速度越来越慢,用多线程问题也不能得到有效的解决
 
建议你使用SQL Server绿色版,适合多线程。Access是不行的,即使多线程了,也是伪多线程。
 
多看看delphi的例程或书籍,demo里面有多线程,这个处理起来没有多难,借这个机会掌握多线程也不错.
 
多人接受答案了。
 

Similar threads

顶部