我正在阅读这篇文章,它讨论了在给定测试用例下C#中使用临界区和互斥锁的性能差异。我想知道是否有进一步的文档可以说明C++应用程序中各种锁类的性能开销,特别是在运行于Windows 32或64位平台上的MFC。
我之所以问这个问题是因为广泛的自动化测试中,分析器的结果显示很多时间都花费在互斥锁代码中。我试图弄清楚其中多少是合理的等待资源可用的延迟,以及多少是由于实现和锁定结构的具体细节导致的。我只处理单个进程,其中包括多个线程,并考虑改用临界区。长期的自动化测试表明,我不需要互斥锁类提供的超时功能。
因此,我的问题是,是否有人了解与不同Windows平台上的不同MFC锁定机制的性能开销相关的参考文献?
CMutex
或CCriticalSection
)只是对应Win32功能的包装器。 - Christian Rau