【问题标题】:Is ID3D11Multithread::Enter reentrant?ID3D11Multithread::Enter 是可重入的吗?
【发布时间】:2022-01-03 22:42:10
【问题描述】:

互斥锁是否在 ID3D11Multithread 可重入内部实现?重入意味着持有互斥锁的线程可以再次锁定它,而不会在两者之间解锁。

【问题讨论】:

    标签: c++ windows directx directx-11


    【解决方案1】:

    如果它没有被记录,那么假设它是安全的有点冒险,即使它看起来确实有效。

    对您有利的是,MSDN 将该接口描述为“为多线程应用程序的关键部分提供线程保护”,EnterCriticalSection 是一个基本的锁定功能,已记录在案支持来自同一线程的多个调用。

    Wine 实现调用wined3d_mutex_lock,最终也调用EnterCriticalSection

    【讨论】:

      【解决方案2】:

      是的。我通过连续两次调用 Enter() 进行测试,第二次调用立即成功。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-13
        • 1970-01-01
        • 2011-04-21
        • 1970-01-01
        • 1970-01-01
        • 2013-06-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多