anchor.diff:      /// <returns> true,ɹһ߳.</returns>
       /// <param name="pvIsTempWorker"> ʱ߳ </param>
       function CheckCreateWorker(pvIsTempWorker: Boolean): Boolean;
  +    /// <summary>Դһ߳, </summary>
  +    /// <returns> true,ɹһ߳.</returns>
  +    /// <param name="pvIsTempWorker"> ʱ߳ </param>
  +    function CreateWorker(pvIsTempWorker: Boolean): Boolean;
   
       /// <summary>
       ///   IOCP棬߳
  
positive.code: end;
  
  procedure TIocpEngine.SetWorkerCount(AWorkerCount: Integer);
  begin
    if FActive then SafeStop;
    if AWorkerCount <= 0 then
      FWorkerCount := (GetCPUCount shl 1) -1
    else
      FWorkerCount := AWorkerCount;   
  
  end;
  
  
negative.code:   FWorkerLocker.Free;
    FWorkerLocker := nil;
    inherited Destroy;
  end;
  
  function TIocpEngine.CreateWorker(pvIsTempWorker: Boolean): Boolean;
  var
    i:Integer;
    AWorker:TIocpWorker;
  begin
    Result := false;
    FWorkerLocker.lock;
    try
      if (FMaxWorkerCount > 0) and (FWorkerList.Count >= FMaxWorkerCount) then exit;
  
      AWorker := TIocpWorker.Create(FIocpCore);
      if pvIsTempWorker then
      begin
        AWorker.removeFlag(WORKER_RESERVED);
      end else
      begin
        AWorker.setFlag(WORKER_RESERVED);
      end;
      AWorker.FIocpEngine := Self;
      AWorker.FreeOnTerminate := True;
      FWorkerList.Add(AWorker);
      {$IFDEF UNICODE}
      AWorker.Start;
      {$ELSE}
      AWorker.Resume;
      {$ENDIF}
  
    finally
      FWorkerLocker.unLock;
    end;
  end;
  
  function TIocpEngine.GetStateINfo: String;
  