TParseThread = class(TThread)
private
AMsg, OptID, DMsg: string; //<----- 1
procedure InvokeMsgProcessor;
protected
procedure Execute; override;
public
constructor Create;
end;//....
procedure TParseThread.Execute;
var
AMsg, OptID, DMsg: string; //<---- 2
begin
while not Terminated do
begin
....
AMsg := ......//使用定义的变量
....
end;
end;问题:请问 AMsg、OptID等这些变量定义在线程类中(1处),与定义在Execute方法中(2处),在使用性能与效率上有什么区别?
private
AMsg, OptID, DMsg: string; //<----- 1
procedure InvokeMsgProcessor;
protected
procedure Execute; override;
public
constructor Create;
end;//....
procedure TParseThread.Execute;
var
AMsg, OptID, DMsg: string; //<---- 2
begin
while not Terminated do
begin
....
AMsg := ......//使用定义的变量
....
end;
end;问题:请问 AMsg、OptID等这些变量定义在线程类中(1处),与定义在Execute方法中(2处),在使用性能与效率上有什么区别?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货