我的最罗嗦,但是我的最舒服://// 激活一个被动传输任务处理线程的过程...procedure TQBService.ActiveRProcessThread;var i,j: integer;begin//// 假如超过并发数,不再激活... if ActiveRProcessThreads>=s_RProcessThreadMax then exit;//// 判断有没有空的项... j:=-1; for i:=0 to RProcessThreadCount-1 do if not assigned(RProcessThreads) then {线程终止的表项才分配} begin j:=i; break; end;//// 假如没有,建立新的... if j=-1 then begin j:=RProcessThreadCount; {线程组向上增长} inc(RProcessThreadCount); setlength(RProcessThreads,RProcessThreadCount); end;//// 创建并激活线程... inc(ActiveRProcessThreads); {活动线程数+1} RProcessThreads[j]:=TRProcessThread.Create(true); {创建线程} RProcessThreads[j].Resume; {激活线程}end;