请教一个线程的问题,这不一定好做?(100分)

  • 主题发起人 主题发起人 xiaojun2000
  • 开始时间 开始时间
X

xiaojun2000

Unregistered / Unconfirmed
GUEST, unregistred user!
我目前想做两个线程,一个线程是打开四个表,另一程是进度条(让其跟随打开表的状态
而走动,要自然),要短时间内完成,40秒以内(表打开大概要40秒)。请教我应怎么做
呢?
谢谢
 
就我所知:
一般来说,在Delphi中进行C/S数据库编程,
SQL查询是不可能监测其状态的,也就是不可能有进度条
例外情况:
DBISAM可以做到,但是DBISAM本质上是个文件数据库
针对特定数据库时,用特定工具可以做到,例如SYBASE好象有这种监测器
 
其实用线程打开表和数据库,如果设的不好跟没有用线程一样,因为当数据库服务端没有社好多线程等于没用
 
左轻侯,lentilz:
因为我要从服务器上一次提取好几百张图片,若不显示进度条,这将让人感觉等的
太久了,我测试了我的全部数据提取需要1分钟左右。各位有什么好的建议吗?
qq: 42276111
烦请各位留下QQ了
 
你只用一个线程,每取一个图片让进度条走一点不就完了
 
不一定要准确读取嘛,只要最后结果对就行,
有什么不自然呢,用一个线程就行
 
leasun:
我的图片不知具体多少张,如果找开表后再走进度表就显得太慢了同。
hongbo781202:
请教,你的意思是找开数据库后再走进度表吗?
 
你可以取得它的记录数,然后一分割,不就可以了吗?
 
你可以使用两个线程,一个主线程一个子线程,主线程负责建立子线程并画进度条,
子线程负责开一个表,或打开一个表的一部分,在主线程中这样调用子线程,
代码:
var
tablelist:tstringlist
begin
.
.
.
for i:=1 to 4do
begin
  clientthread.create(tablelist.strings[4]).waitfor;
  Synchronize updatestatus;
end;
.
.
.
end;
 
多人接受答案了。
 
后退
顶部