首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

DirectX里头为什么要Lock()

2013-04-26 
DirectX里面为什么要Lock()啊directdrawsuface也要lockdirectsound也要lock 为什么要这么做呢 1、如果怕系

DirectX里面为什么要Lock()啊
directdrawsuface也要lock   directsound也要lock 为什么要这么做呢 

1、如果怕系统会移动使得这块内存被使用为什么像new malloc这种不怕呢   

2、如果不怕系统移动为什么没有lock会运行不了呢

求大神解答~
[解决办法]
1. 锁(Lock)问题

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

热点排行