TCriticalSection.LockCount和负值

时间:2015-12-07 19:27:35

标签: windows multithreading delphi

TCriticalSection.lockcount 是否会为锁定数返回负值?

我已经创建了一个基于Windows的多线程Delphi服务。我在其中使用了许多关键部分。我想我可能有一些死锁,我想查询关键部分有多少锁。

我从 TCriticalSection 创建了我自己的后代类,并公开了一个函数来获取锁定计数:

type
  TEACriticalSection = class(TCriticalSection)
  function GetLockCount: Integer;
end;
implementation

function TEACriticalSection.GetLockCount: Integer;
begin
  result := FSection.lockcount;
end;

我发现返回的号码总是负数。这是“等待”过程的数量吗?为什么它是消极的而不是积极的?

0 个答案:

没有答案