线程池Threadsize 只有ServerType为stThreadBlocking才有效
TServerClientThread.Create 的时候调用ReActivate
FServerSocket.AddThread(Self);
,在AddThread中
if FActiveThreads.IndexOf(AThread) < 0 then
begin
FActiveThreads.Add(AThread);
if FActiveThreads.Count <= FThreadCacheSize then
AThread.KeepInCache := True;
end;
把线程加入到了Sever中,修改这个线程是否释放标志。
在TServerClientThread.EndConnect中:
Result := Terminated or not KeepInCache;
如果线程不中段或不在缓冲中就调用DoTerminate
TServerClientThread.DoTerminate 中
TServerClientThread.DoTerminate
又从server中删除了线程