比较急。
程序描述:各线程对文件进行处理[解析提取等]
把处理后的结果(解析出来的很多记录)保存到ACCESS数据库中。要求速度快:多线程应该可以提高速度,问题:怎么把提取出来的多条记录存进同一个数据库??
我的思路:分线程处理完之后,把多条数据交给主线程由主线程负责数据库的存储
线程之间的配合和阻塞问题。??有做过这方面的 说一下,今晚急用。路过的朋友帮忙顶一下,谢了都有分。
提供代码和完整思路的送分至少200!(另开贴)
程序描述:各线程对文件进行处理[解析提取等]
把处理后的结果(解析出来的很多记录)保存到ACCESS数据库中。要求速度快:多线程应该可以提高速度,问题:怎么把提取出来的多条记录存进同一个数据库??
我的思路:分线程处理完之后,把多条数据交给主线程由主线程负责数据库的存储
线程之间的配合和阻塞问题。??有做过这方面的 说一下,今晚急用。路过的朋友帮忙顶一下,谢了都有分。
提供代码和完整思路的送分至少200!(另开贴)
解决方案 »
- 请教TcomponentPrinter控件怎么连接到TDXDbgrid控件
- delphi 中如何预定义多行信息
- 如何将Tclientdataset中的数据在dbgrid中显示
- 一个图形多样化显示的问题。
- 请帮忙Printer Selected is not Valid
- DBComboBox控件使用求助(急)
- Gexperts怎样使用?哪里有这样的文章?
- 2个问题 一个是csdn离线浏览程序在那里下。第2个listview的问题(第一个20,第二个100)
- 求教:关于在客户端调用应用服务器接口出错(一个线程中调用)
- 如何删除数据库中满足条件的多条记录?
- 下面3个动态创建窗体的语句有什么区别?
- 如何使用ADODataset控件的方法执行条件查询功能?
子线程里将数据准备好后,SendMessage向主线程发一个WM_USER消息
主进程收到后,取出来,写入ACCESS数据库。
要注意冲突。
你的意思是 子线程解析出一条记录 就象主进程发消息。
如果我同时开多个子线程,SendMessage 消息传递 是马上处理还是送到消息队列我忘记了。
如果是马上处理,子线程等待他的返回,那住现成可能就是瓶颈。
2. 你的文件是同一個文件 還是多個不同的文件呢。
t1
t2
t3 ---->>將數據發往你的功能保存層(保存到數據庫),注意同步 --> ? tn..
...
tn你可以采取之間的通信 可以異步 也可以同步處理,看你具體的保存塊的設計 比如你可以為每一個線程建立一個緩沖,線程傳過來的數據直接往裡面寫就是(當然 有上限),或者 你的線程每傳一條數據過來,就等待保存完後再返回之類的這裡明顯有效率上的區別 自然難度也步一樣 思路這樣是可以的。
线程之间的配合和阻塞问题。??這個思路, 我贊同!>>各线程对文件进行处理[解析提取等]
如果是密集數據計算, 用多線程不見得有效
多線程只是會提高界面反應速度, 不受後台計算的影響
我现在做的是个测试,公司要的。就用ACCESS存储。其实ACCESS 用起来不慢,用DAO 非常快。快的让你想不到:)