directdrawsuface也要lock   directsound也要lock 为什么要这么做呢 1、如果怕系统会移动使得这块内存被使用为什么像new malloc这种不怕呢   2、如果不怕系统移动为什么没有lock会运行不了呢求大神解答~

解决方案 »

  1.   

    1. 锁(Lock)问题   DirectShow应用程序至少包含有两条线程:一条主线程和一条数据传输线程。既然是多线程,肯定会碰到线程同步的问题。Filter有两种锁: Filter对象锁和数据流锁。Filter对象锁用于Filter级别的如Filter状态转换、BeginFlush、EndFlush等;数据流锁 用于数据处理线程内,比如Receive、EndOfStream等。如果这两种锁没有搞清楚,很容易产生程序的死锁,这一点特别需要提醒。