anchor.diff:  procedure TDiocpHttpRequest.CheckThreadOut;
   begin
     FThreadID := 0;  
  +end;
  +
  +procedure TDiocpHttpRequest.CheckThreadSetInfo(pvDebugInfo:string);
  +var
  +  lvThreadID:THandle;
  +  s:string;
  +begin
  +  lvThreadID := utils_strings.GetCurrentThreadID;
  +  if lvThreadID <> FThreadID then
  +  begin
  +    s := GetDebugString;
  +    raise Exception.CreateFmt('(%d,%d)ǰѾ߳ʹ::%s',
  +      [utils_strings.GetCurrentThreadID, FThreadID, s]);
  +  end;
  +  FThreadDebugInfo := pvDebugInfo;
   end;
   
   procedure TDiocpHttpRequest.ContentSaveToFile(pvFile:String);
  
positive.code: 
    TDiocpHttpRequest = class(TObject)
    private
      FThreadID:THandle;
      
      FReleaseLater:Boolean;
      FReleaseLaterMsg:String;
  
negative.code:   {$IFDEF DIOCP_Task}, diocp_task{$ENDIF}
    , diocp_tcp_server, utils_queues, utils_hashs, utils_dvalue
    , diocp_ex_http_common
    , utils_objectPool, utils_safeLogger, Windows, utils_threadinfo, SyncObjs;
  
  
  
  