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处),在使用性能与效率上有什么区别?