線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1129
推到 Plurk!
推到 Facebook!

請問在多線程程式中如何將各個線程查詢出的資料在主線程中作運算

 
ingshr2001
一般會員


發表:1
回覆:0
積分:0
註冊:2004-11-22

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-02-19 19:50:57 IP:61.64.xxx.xxx 未訂閱
請問在多線程程式中如何將各個線程查詢出的資料在主線程中作運算, 然後再以運算後的結果作為條件,再實施多線查詢,然後再將查詢結果作 運算,然後show出結果. 謝謝!小弟初次在貴網站發問,有哪裡不週全,請各位大大不吝告知!
One2Free
一般會員


發表:26
回覆:28
積分:20
註冊:2004-05-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-04 12:45:40 IP:202.105.xxx.xxx 未訂閱
在线程中用 Synchronize()方法调用的 procedure 中是可以用 线程的值赋给 主程序的!
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-18 11:36:18 IP:219.134.xxx.xxx 未訂閱
(我用簡体回答) 你可以在每个线程被Execute的时候,动态Create一个新的数据库控件(比如说ADOQuery)进行查询就可以,不管你是不是Synchronize()的方法下,还是在线程触发Execute事件中编写数据库查询,都在记得在这个线程Execute的事件中,第一行加上 CoInitialize(nil); 最末尾一行加上 CoUninitialize; 不然会报错 許下第一千零一個願望 有一天幸福會聽我的話
japhenchen
高階會員


發表:51
回覆:444
積分:184
註冊:2003-07-23

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-18 11:46:34 IP:219.134.xxx.xxx 未訂閱
记得先帮自己想要用多线程的工作先排定一个线程工作计划,把所有的工作都安排妥当之后才开始用线程一一进行运算,运算结果在onTerminate时丢给主进程更新工作结果,当主进程更新工作结果并发现所有的线程都已经工作完毕,所有的工作都获得结果之后,在进行最终结果的运算即可。。。 不过如果你的数据库并非在远端,而是在本地或内网的话,我觉得用多线程似乎没有什么效用,反倒多了些风险,那还不如再取得数据时就把结果都在服务器端就完成运算(用预存方法作就好了),你直接从数据库拿到的东西已经是完成运算后的结果,这个不是更好吗? 許下第一千零一個願望 有一天幸福會聽我的話
系統時間:2024-05-21 19:42:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!