DirectX里面为什么要Lock()啊
directdrawsuface也要lock directsound也要lock 为什么要这么做呢
1、如果怕系统会移动使得这块内存被使用为什么像new malloc这种不怕呢
2、如果不怕系统移动为什么没有lock会运行不了呢
求大神解答~
[解决办法]
1. 锁(Lock)问题
DirectShow应用程序至少包含有两条线程:一条主线程和一条数据传输线程。既然是多线程,肯定会碰到线程同步的问题。Filter有两种锁: Filter对象锁和数据流锁。Filter对象锁用于Filter级别的如Filter状态转换、BeginFlush、EndFlush等;数据流锁 用于数据处理线程内,比如Receive、EndOfStream等。如果这两种锁没有搞清楚,很容易产生程序的死锁,这一点特别需要提醒。