gpt4 book ai didi

delphi - 有没有办法查询关键部分有多少 block ?

转载 作者:行者123 更新时间:2023-12-03 15:52:06 26 4
gpt4 key购买 nike

我有一个利用TCriticalSection的多线程Delphi应用程序。线程数定期开始变得非常高。最终,大约 30 秒后,所有线程都开始处理。我怀疑封装在关键部分中的代码有时需要比平时更长的时间来处理。因此将“ block ”放在所有其他线程上。

有没有办法查询 CritialSections 并找出它们当前阻塞了多少线程?

try
ReportCriticalSection.Acquire;
........
finally
ReportCriticalSection.Release;
end;

最佳答案

检查 TRtlCriticalSection.LockCount 字段。在TCriticalSection中,RTL结构是一个 protected 字段。

Matt Pietrek 和 Russ Osterlund 几年前在 MSDN 杂志 上发表了一篇文章,其中包含对所有字段含义的描述。仅将它们用于调试,而不用于业务逻辑。

Break Free of Code Deadlocks in Critical Sections Under Windows

关于delphi - 有没有办法查询关键部分有多少 block ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28119596/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com