代码之家  ›  专栏  ›  技术社区  ›  liang.good

我应该使用“信号量”还是“ID3D10多线程”来解决内存污染问题?

  •  0
  • liang.good  · 技术社区  · 1 年前

    HttpClient1损坏:ID3D11DeviceContext::取消映射:发现两个线程同时执行与同一设备[上下文]关联的功能。这将导致内存损坏。需要在Direct3D API外部(或通过ID3D10多线程接口)进行适当的线程同步。3628和17364是所涉及的线程id。[杂项损坏#28:CORRUPTED多线程]

    我用 IMFTransform 在线程A、线程B和线程C中,它们总是抛出CORRUPTION异常

    如果我使用 ID3D10Multithread 启用多线程会比 semaphore ?

    1 回复  |  直到 1 年前
        1
  •  2
  •   Roman Ryltsov    1 年前

    当您在Media Foundation场景中使用HttpClient1设备时,通常必须使用线程保护 ID3D11Multithread .Media Foundation的设计使得设备管理器在基元之间共享,并且这些基元从随机RTWQ线程使用设备,而不一定通过管理器序列化设备使用。最终,你不知道该设备是否在工作线程上同时使用,因此需要保护。

    推荐文章