请问uThreadPool.pas这个线程池如何调用呢? uThreadPool 线程池 代码:http://www.delphifans.com/SoftView/SoftView_2722.html不知道怎么调用求demo代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 只需要设置好线程池TThreadsPool对象的参数就行了。线程的调度都由线程池来完成。最重要的是要从TWorkItem派生一个子类,来实现线程池要完成的任务。TThreadsPool其它的属性注释得很清楚: // 线程处理任务时触发的事件 property OnProcessRequest: TProcessRequest read FProcessRequest write FProcessRequest; // 任务列表为空时解发的事件 property OnQueueEmpty: TQueueEmpty read FQueueEmpty write FQueueEmpty; // 线程结束时触发的事件 property OnThreadFinalizing: TProcessorThreadFinalizing read FThreadFinalizing write FThreadFinalizing; // 线程初始化时触发的事件 property OnThreadInitializing: TProcessorThreadInitializing read FThreadInitializing write FThreadInitializing; // 线程超时值(毫秒), 如果处理超时,将视为死线程 property ThreadDeadTimeout: DWORD read FThreadDeadTimeout write FThreadDeadTimeout default 0; // 最大线程数 property ThreadsMax: Integer read FThreadsMax write FThreadsMax default 1; // 最小线程数 property ThreadsMin: Integer read FThreadsMin write FThreadsMin default 0; end; 对线程操作不太熟悉 能详细讲一下 如何派生TWorkItem子类吗// 使用线程池var AWorkItem: TRecvCommDataWorkItem; // 继承自TWorkItembegin AWorkItem := TRecvCommDataWorkItem.Create; Move(PData[0], AWorkItem.FRecvData[0], PDataLen); AWorkItem.FRecvDataLen := PDataLen; FThreadPool.AddRequest(AWorkItem); // 向线程池分配一个任务end;这个代码TRecvCommDataWorkItem 这个东西不知道如何得来 请教delphi+XML统合编程的读取及写入问题 在线程中使用AutoUpgrader组件的问题 delphi中怎样实现用xml存取bmp图片? 求救:小弟我是delphi初学者,现遇到小问题,望高手赐教! 郁闷,女朋友的手机今天掉了,散分 模拟sqlplus中的工作过程! *.dsm可以删掉吗 我记得ADO中的RECORDSET有个属性是RecordCount可以查看记录条数 下面的VB代码如何用Delphi写??? 做出中国的front page?????????????????????????????? 求dll里面的变量问题. 新建image如何使用?
// 线程处理任务时触发的事件
property OnProcessRequest: TProcessRequest read FProcessRequest write
FProcessRequest;
// 任务列表为空时解发的事件
property OnQueueEmpty: TQueueEmpty read FQueueEmpty write FQueueEmpty;
// 线程结束时触发的事件
property OnThreadFinalizing: TProcessorThreadFinalizing read
FThreadFinalizing write FThreadFinalizing;
// 线程初始化时触发的事件
property OnThreadInitializing: TProcessorThreadInitializing read
FThreadInitializing write FThreadInitializing;
// 线程超时值(毫秒), 如果处理超时,将视为死线程
property ThreadDeadTimeout: DWORD read FThreadDeadTimeout write
FThreadDeadTimeout default 0;
// 最大线程数
property ThreadsMax: Integer read FThreadsMax write FThreadsMax default 1;
// 最小线程数
property ThreadsMin: Integer read FThreadsMin write FThreadsMin default 0;
end;
var
AWorkItem: TRecvCommDataWorkItem; // 继承自TWorkItem
begin
AWorkItem := TRecvCommDataWorkItem.Create;
Move(PData[0], AWorkItem.FRecvData[0], PDataLen);
AWorkItem.FRecvDataLen := PDataLen;
FThreadPool.AddRequest(AWorkItem); // 向线程池分配一个任务
end;这个代码TRecvCommDataWorkItem 这个东西不知道如何得来