delphi 中同一个类有两个不同的对象,然后用两个线程分别调用类中同一个函数,这样会不会死锁。。代码
unit Class2;interface
uses
  Windows,Classes;
type
  TT1 = class(TThread)
    procedure Execute; override;
  end;
  TT2 = class(TThread)
    procedure Execute; override;
  end;
  TClass2 = class
  public
    function Msg:Cardinal;
    constructor Create;
    destructor Destroy; override;
  public
    Lock:RTL_CRITICAL_SECTION;
    dCot:Cardinal;
  end;
var
  c1:TClass2;
  c2:TClass2;
  t1:TT1;
  t2:TT2;implementation
uses
  CustomFun;
{ TClass2 }constructor TClass2.Create;
begin
  InitializeCriticalSection(Lock);
end;destructor TClass2.Destroy;
beginend;function TClass2.Msg:Cardinal;
begin
  EnterCriticalSection(lock);
  while True do
  begin
    dCot := dCot + 1;
  end;
  LeaveCriticalSection(lock);
end;{ TT1 }procedure TT1.Execute;
begin
  c1.Msg;
end;{ TT2 }procedure TT2.Execute;
begin
  c2.Msg;
end;