|
盒子资源分类 |
|
|
|
|
ThreadPro v2.1 |
|
关键字:ThreadPro HTTP 多线程调度 线程池 |
来 自:原创 |
平 台:Win2k/XP/NT,Win2003 |
下载所需:0 火柴 |
深浅度:高级 |
完成时间:2006/8/25 |
发布者:99koo |
发布时间:2006/8/25 |
编辑器:DELPHI7 |
语 种:简体中文 |
分 类:互联网 |
下载浏览:9608/27290 |
|
|
|
|
一。什么是 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程序,令你能更快速的上手。 |
|
本站原创作品,未经作者许可,严禁任何方式转载;转载作品,如果侵犯了您的权益,请联系我们! |
相关文章 |
|
|
|
相关评论 |
|
共有评论30条
当前显示最后6条评论
|
gogogo2003 |
2007/8/5 17:04:59 |
我怎么觉得这不是线程池,而是线程管理! 好象是这样:每个线程完成任务后,就被销毁了!如果还有任务,就又创建新线程! 这样也太耗资源了吧! 是否我没看懂? |
oupj |
2007/8/9 9:13:17 |
请问怎样把“Demo3 搜索宝”的例子改为动态添加线程 |
yeeler |
2008/3/3 0:16:43 |
好不容易改成delphi 2007可用 可惜内存有溢出 昏倒 |
res1000 |
2008/11/22 5:18:50 |
这个源码前年就下载来用了,今天碰到一个浅浅淡淡的http get问题,回头重看高人的代码,觉得自己笨得像头猪。。。灰心丧气。。。 |
graham |
2011/2/27 19:06:05 |
不错,顶 |
letianwuji |
2017/11/11 17:21:33 |
打算改成xe版 |
我要发表评论 |
查看全部评论 |
|
|
|