本周下载排行
|
|
本月下载排行 |
| |
|
|
| 资源名称: | 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 |
| 下载链接: |
|
|
|
| 资源简介: |
取自卢伟的专栏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; |
| 用户评论: |
『查看或发表评论』评论次数: |
| |
|
|
下载帮助(?)
下载链接错误报告或者意见反馈 |
| 下载说明: |
|
|