TCriticalSection.lockcount 是否会为锁定数返回负值?
我已经创建了一个基于Windows的多线程Delphi服务。我在其中使用了许多关键部分。我想我可能有一些死锁,我想查询关键部分有多少锁。
我从 TCriticalSection 创建了我自己的后代类,并公开了一个函数来获取锁定计数:
type
TEACriticalSection = class(TCriticalSection)
function GetLockCount: Integer;
end;
implementation
function TEACriticalSection.GetLockCount: Integer;
begin
result := FSection.lockcount;
end;
我发现返回的号码总是负数。这是“等待”过程的数量吗?为什么它是消极的而不是积极的?