网上文摘 小说 Flash游戏 最近更新 下载排行 资源分类 下载指南
经典编程资源 精彩不容错过
设为首页
加入收藏
联系我们
  当前位置:Delphi园地精彩源码示例源码 → DELPHI 线程池代码(uThreadPool.pas)
  本周下载排行
  本月下载排行
资源名称:DELPHI 线程池代码(uThreadPool.pas)
文件类型: RAR
适用版本: D7, D2007, D2009
发 布 者: cnlxy@hotmail.com
资源类型: FS
资源大小: 28 KB
资源等级:
整理时间: 2009-1-7 10:11:58
资源网址: http://blog.csdn.net/babyvspp/archi..
下载次数: 本 周:14 本月:85 总计:2739
下载链接:
精品源码2DVD,感谢您的支持! 小说 Flash游戏
资源简介: 取自卢伟的专栏DELPHI 线程池代码(http://blog.csdn.net/babyvspp/archive/2008/01/01/2008234.aspx),封装的十分完美,用法也非常简单,可以根据使用者设定的初始工作线程数和最大线程数以及线程执行时间自动增加工作线程。

此发布修改了原作者在线程池Free时的一点问题:“不能结束工作中的工作者线程(资源死锁)”。

用法:

// 创建线程池
FThreadPool := TThreadsPool.Create(Self); // 创建线程池
FThreadPool.ThreadsMin := 5; // 初始工作线程数
FThreadPool.ThreadsMax := 50; // 最大允许工作线程数
FThreadPool.OnProcessRequest := DealwithCommRecvData; // 线程工作函数(DealwithCommRecvData在工作者线程的Execute方法中被调用)


// 使用线程池
var
 AWorkItem: TRecvCommDataWorkItem; // 继承自TWorkItem
begin
 AWorkItem := TRecvCommDataWorkItem.Create;
 Move(PData[0], AWorkItem.FRecvData[0], PDataLen);
 AWorkItem.FRecvDataLen := PDataLen;
 FThreadPool.AddRequest(AWorkItem); // 向线程池分配一个任务
end;
用户评论: 查看或发表评论』评论次数:
  • 非常完美 [yu 1/8]
  • Google
     
    下载帮助() 下载链接错误报告或者意见反馈
    下载说明:
    关于我们 | 广告服务 | 发布资源 | 联系站长 Copyright © 2001-2009 Delphi园地 All Rights Reserved