标签:sage RoCE show span get png 大量 code pre
QC上有人提出,下面两个方法配对调用时,因线程不安全而出错,QC地址:https://quality.embarcadero.com/browse/RSP-27771。
TRttiContext.KeepContext;
TRttiContext.DropContext;
我把提出者的代码改了下,测试结果果真如此,下面是测试代码:
procedure TForm61.Button1Click(Sender: TObject); var i : Integer; begin for i := 0 to 1000 do begin // TThread.CreateAnonymousThread( // procedure () // var // j : Integer; // begin // for j := 0 to 100000 do // begin // TRttiContext.KeepContext; // TRttiContext.DropContext; // end; // // end // ).Start; Scheduler.Run(procedure var j : Integer; begin for j := 0 to 100000 do begin TRttiContext.KeepContext; TRttiContext.DropContext; end; end) .WhenException( procedure (const AException:Exception) begin ShowMessage(AException.Message); end).Activate; end end;
运行,会产生大量错误:
标签:sage RoCE show span get png 大量 code pre
原文地址:https://www.cnblogs.com/kinglandsoft/p/12407552.html