我有一个使用TCriticalSection的多线程Delphi应用程序。 有时线程计数开始变得非常高。 大约30秒后,所有线程最终都会处理完毕。 我怀疑我的Critial Section封装代码有时需要比平常更长的时间来处理。 因此,对所有其他线程产生“阻塞”。
是否有一种方法可以查询CritialSections并找出它们当前阻止了多少个线程?
try
ReportCriticalSection.Acquire;
........
finally
ReportCriticalSection.Release;
end;