捐赠 | 广告 | 注册 | 发布 | 上传 | 关于我们    
  沪ICP备05001939号 DELPHI盒子 | 盒子论坛 | 盒子文章 | 盒子问答悬赏 | 最新更新 | 论坛检索 | 下载中心 | 高级搜索    
  精品专区 | 繁體中文 | 奖励公告栏 | 直通车账号登陆 | 关闭GOOGLE广告 | 临时留言    
盒子资源分类
全部展开 - 全部合拢
多线程控制、线程池模型、HTTP线程
关键字:ThreadPro 线程池 多线程 线程调度
来 自:原创
平 台:Win2k/XP/NT,Win2003 下载所需:0 火柴
深浅度:高级 完成时间:2006/7/1
发布者:99koo 发布时间:2006/7/1
编辑器:DELPHI7 语  种:简体中文
分 类:网络 下载浏览:13675/35275
加入到我的收藏
下载错误报错
登陆以后才能下载
 用户名:
 密 码:
自动登陆(30天有效)
图片如果打不开,说明流量不够了,请稍候下载……
说到多线程,一直是编程中的一个难题,关键问题就是很难调试。每个线程的执行时间是由CPU随机分配的,你无法预料一个确定的结果。想象一下有数万个相同的任务需要执行,这里我们打个比方,比如你有一个代理列表文本文件 一行一个代理,格式IP:PORT,有1万行,你也许接触过一些代理验证软件,在软件里你可以很方便的设置并行线程数,然后点开始,就会以非常高的效率,以多线程的方式对你所导入的代理进行测试,直到最后一个代理验证完毕(每一时刻,有固定数量的线程在运行),我所说的就是这种模型。

这个模型是SPIDER程序的基础,网络蜘蛛(数据挖掘)程序就是一种基于深度的并行线程池,许多专业的营销类软件也是使用这种线程池模型来进行群发。

本人基于DELPHI的TThread封装了更实用,更结构化的TThreadTask线程类。并且写了一个线程池类TThreadPool 它是 TThreadTask 的容器,其中运用了面向对象的方法,使用了继承和多态,实现了一个可设置并发任务数的线程池。继承这些基类你可以编写任意自定义的基于这种模型的应用,让你的程序具有强大而安全的多线程处理能力!本人还额外封装了一个 THTTPtask 类,该类是基于INDY进一步封装而成,并使用了一个第3方的压缩处理库,使 THTTPtask 如同浏览器那样,完全支持 GZIP,使你编写 HTTP 多线程程序变的非常容易! 

本DEMO是一个简单的代理验证程序,其中 ThreadTask.pas, ThreadPool.Pas, HTTPtask.pas 分别封装了上面所说的3个类。使用方法:

1> 新建一个单元从THTTPtask继承编写你自己的HTTP线程类,如DEMO中的 MyThreadTask.pas
2> 新建一个单元从TThreadPool继承编写你自己的线程池类,如DEMO中的 MyThreadPool.pas(只需要覆盖基类中的一个SetThread方法就可以了!)
3> 线程池任务列表的装载,以及线程池的控制(开始,暂停,继续,停止),请参看DEMO中Main.pas的代码。
Google
 
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们
龙脉加密锁 15元起 Grid++Report 报表 申请支付@网
 相关文章
简单的线程池模型 (Dephi版)
register 2006/10/20 下+5379/浏+22134 评+8
ThreadPro v2.1
99koo 2006/8/25 下+9608/浏+27305 评+30
ThreadPro v2.0
99koo 2006/8/8 下+4778/浏+14425 评+12
多线程控制、线程池模型、HTTP线程
99koo 2006/7/1 下+13675/浏+35276 评+16
相关评论
共有评论16条 当前显示最后6条评论
jmyzk 2006/7/6 15:01:15
点击暂停后,线程还是继续往下运行!
99koo 2006/7/6 17:05:25
楼上的朋友,你就不能看看类是怎么封装的吗,子类中没有设置暂停点而已
kenpa 2006/7/10 17:18:08
不错,算是有价值的代码.
hsgrass 2007/6/20 10:29:15
好好,好好好,学习,学习
cx66868 2007/8/2 22:20:28
LVK 3方组件
哪里有下载?链接全失效了!
hikaru 2013/4/18 18:03:54
没有cookie操作,在框架上改
我要发表评论 查看全部评论
 
  DELPHI盒子版权所有 1999-2023 V4.01 粤ICP备10103342号-1 更新RSS列表