release不能共享数据,帮帮我这个菜鸟吧..

满衣兄 2009-06-11 02:50:01
详细描述:由于要做抖动缓冲,我使用了speex里的jitter_buffer.
接收到数据之后先把数据put到jitterbuffer中,这个事情是在接收线程里做的.
另外有个播放数据的线程,在这里从jitterbuffer中get数据.
使用EnterCriticalSection();LeaveCriticalSection();进行线程互斥.
如果用debug版本,程序是正常的.但是我修改为release版本之后就get不到数据.晕啊.

请问,release版本是不是要设置什么东西才可以在两个线程之间共享数据?

简单描述:
数据-------------->>>>放入A线程,put到jitterbuffer

B线程------------->>>>>每隔35毫秒从jitterbuffer中get一次数据.但是release版本的时候获得的是空.

另外,我做了实验,release的时候如果是在同一个线程里put 10帧数据之后再get,这个时候是有数据的.但是如果是在另一个线程GET,就是没有数据的.

谢谢谢谢,我弄了好长时间了,不太好描述,但是问题应该比较简单,请大家帮帮我这个小菜鸟吧.
55555555555555........................

...全文
45 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
满衣兄 2009-06-11
  • 打赏
  • 举报
回复
满衣兄 2009-06-11
  • 打赏
  • 举报
回复
UP
满衣兄 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hairetz 的回复:]
..改成release就出问题?
看看这篇文章吧,或许有帮助。
http://www.wangqi.com/html/2007-01/10034.htm
[/Quote]
是的.成release就出问题了.而且还不好调试.郁闷
  • 打赏
  • 举报
回复
..改成release就出问题?
看看这篇文章吧,或许有帮助。
http://www.wangqi.com/html/2007-01/10034.htm
满衣兄 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 Loaden 的回复:]
每隔35毫秒
改大些试试
[/Quote]
改了,不行,而且我这个是声音数据,改的太大了就断续了.应该不是这个问题,release得到的都是空的.
谢谢
「已注销」 2009-06-11
  • 打赏
  • 举报
回复
请问,release版本是不是要设置什么东西才可以在两个线程之间共享数据?
---------
不是。这肯定是你代码设计的问题。
「已注销」 2009-06-11
  • 打赏
  • 举报
回复
每隔35毫秒
改大些试试

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧