CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

新手急求多线程解决方案。送上50分!

楼主alvary(冷月浪人)2006-12-03 03:23:44 在 Delphi / VCL组件开发及应用 提问

我刚接触   多线程编程,现在急着要处理一个任务。不得已拿这样初级问题询问各位大虾解决方案,还请不吝赐教,谢谢你们拉。^-^!  
   
  从数据库1表A中取出所有数据循环处理每一条记录(数据处理过程速度有点慢)  
  处理一条记录后修改日志数据库2表B(本次处理多少条记录);  
  同时修改处理进度数据库3表C(对表A总共处理了多少记录)。  
  还需要用多线程来实现进度条显示处理过程  
   
  单线程处理的话速度有点慢,请大虾们给个建议呀!  
  问题点数:30、回复次数:3Top

1 楼sanmaotuo(老冯)回复于 2006-12-03 15:52:41 得分 0

用线程处理没有问题的.  
   
  可以开合适的线程数(如10个)来达到你的要求,表面上看起来是10条数据同时被处理.  
   
  在同步修改进度条的时候建议你用PostMessage而不要用Synchronize,因为在Synchronize的时候会暂停所有的进程,很影响速度的.  
   
  在具体编程的时候加一个中介模块,其主要功能是记录当前需要处理的记录(已经处理完了的就不需要重复处理了)以通知处理线程.Top

2 楼zhou13()回复于 2006-12-03 19:06:02 得分 0

单线程处理的话速度有点慢?  
  多线程再VCL中是没有一点意义的,速度会越来越慢!  
  多线程来实现进度条倒还可以Top

3 楼hjksoft(kiki)回复于 2006-12-20 11:49:05 得分 0

顶Top

相关问题

关键词

得分解答快速导航

  • 帖主:alvary

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo