anchor.diff:  
       if job <> nil then
       begin
  -      NameThread(job.WorkName);
  +      NameThread(threadName);
         job.Proc();
   
         if Assigned(job.Callback) then
  
positive.code: var
    job: TKMWorkerThreadTask;
    loopRunning: Boolean;
  begin
    job := nil;
    loopRunning := True;
  
    while loopRunning do
    begin
      TMonitor.Enter(fTaskQueue);
      try
        if fTaskQueue.Count > 0 then
        begin
          job := fTaskQueue.Dequeue;
  
negative.code: 
  function TKMWorkerThread.GetBaseThreadName: string;
  begin
    {$IFDEF DEBUG}
    Result := fWorkerThreadName + ' Jobs=' + IntToStr(fTaskQueue.Count); // Has to be synced!
    {$ELSE}
    Result := '';
    {$ENDIF}
  end;
  
  procedure TKMWorkerThread.NameThread;
  begin
    {$IFDEF DEBUG}
    NameThread(fWorkerThreadName);
    {$ENDIF}
  end;
  
  procedure TKMWorkerThread.NameThread(aThreadName: string);
  begin
    {$IFDEF DEBUG}
    if fWorkerThreadName <> '' then
      TThread.NameThreadForDebugging(aThreadName);
    {$ENDIF}
  end;
  
  