anchor.diff:  
   
       property Active: Boolean read FActive;
  +    property ActiveWorkerCount: Integer read FActiveWorkerCount;
   
       /// <summary>
       ///   core object, read only
  
positive.code:   FWorkerLocker.Free;
    FWorkerLocker := nil;
    inherited Destroy;
  end;
  
  function TIocpEngine.GetStateINfo: String;
  
negative.code: end;
  
  procedure TIocpEngine.SetWorkerCount(AWorkerCount: Integer);
  var
    j:Integer;
    i: Integer;
  begin
    //if FActive then SafeStop;
    if AWorkerCount <= 0 then
      FWorkerCount := (GetCPUCount shl 1) -1
    else
      FWorkerCount := AWorkerCount;
  
    j := FWorkerCount - FActiveWorkerCount;
    if j > 0 then
    begin
      for i := 0 to j - 1 do
      begin
        CreateWorker(False);
      end;
    end else
    begin
      j := -j;
      for i := 0 to j - 1 do
      begin
        PostAExitRequest;
      end;
    end;
  
  end;
  
  