ThreadPro v2.1

关键字: ThreadPro HTTP 多线程调度 线程池
来 自: 转载
平 台: Win2k/XP/NT,Win2003
编辑器: DELPHI7 发布时间: 2006-8-25
分 类: 互联网控件 下载浏览: 432/1137

一。什么是 ThreadPro ?

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

二。使用 ThreadPro 能开发怎样的应用?

想象一下有数万个相似的任务需要执行,这里我们打个比方,比如你有一个代理列表文本文件 一行一个代理,格式IP:PORT,有1万行,你也许接触过一些代理验证软件,在软件里你可以很方便的设置并行线程数,然后点开始,就会以非常高的效率,以多线程的方式对你所导入的代理进行测试,直到最后一个代理验证完毕(每一时刻,有固定数量的线程在运行),本类库实现的就是这种模型。

三。如何安装 ThreadPro ?

ThreadPro v2.0 只是 library 而不是 component ,因此不需要安装也无法被安装,使用时请将解压后的 lvkzlib,threadtask 和 FastMM470 (FastMM470是第3方内存管理组件,您也可以不使用,请去掉DEMO DPR文件中相应的USES语句即可)目录添加到您IDE的 Tools-> Environment Options-> Library 的 Library Path 中即可,您也可以直接将相关文件拷贝到您的工程中。

四。如何使用 ThreadPro ?

1> 新建一个单元从THTTPtask继承编写你自己的HTTP线程类,如DEMO中的 MyHTTPtask.pas(通常只需要覆盖基类中的一个Process方法即可!)
2> 新建一个单元从THTTPtaskPool继承编写你自己的线程池类,如DEMO中的 MyThreadPool.pas(通常只需要覆盖基类中的一个SetThread方法即可!)
3> 线程池任务列表的装载,以及线程池的控制(开始,暂停,继续,停止),请参看DEMO中Main.pas的代码。

更多请自行查看新版源码...

五。你是否提供技术支持? 我能在商业项目中使用该类库吗?

使用本类库需要你具备一定的面向对象的编程能力,对于初学者,可能比较难以理解。请仔细看DEMO中的注释。抱歉本人不提供相关的技术支持服务。请不要加本人的QQ咨询相关问题!但您可以在本站发表评论或留言,本人将尽量为您解答。 ThreadPro 是完全开源的,您可以在商业项目中免费使用本类库,没有任何限制。如果您能优化并修正其中的不足之处,请记得发一份修改后的版本给我,谢谢您的支持。

ThreadPro v2.0 - Multithreading the Delphi way

您可以随时从下面的链接下载到最新版本的 ThreadPro

http://www.flying99koo.com/ThreadPro.rar

版本更新:

2.1 ----------

1。修正了当并发线程数为1时无法继续执行线程池中任务的BUG。
2。增加了TThreadPool的OnInitTerm事件用于响应终止初始化。
3。增加了DEMO中的注释。
4。修正了DEMO中的几处内存泄漏问题。

2.0 ----------

1。取消了TThreadTask中不安全的强行终止线程的成员方法,改用切断事件关联的方式。
2。修正了TThreadPool中的内存泄漏问题。
3。加强和优化了THTTPtask的成员方法。
4。新增了线程池的“瞬死”运行模式(主要用于穷举破解)。
5。增加了线程池终止状态进度条成员,更准确的跟踪线程运行状态。
6。完善了DEMO程序,令你能更快速的上手。

下载页面