[NOOBS问题] 大家晚上好。首先,对不起我的英语,我试图更好地了解这种语言。
我有三个文件:
Main.cpp - >包含图形界面,菜单线程和音频线程。 Lettore.cpp - >包含重新调整文件类型和使用正确的库播放音频的功能,还包含停止,播放,暂停,跳过歌曲的功能。 两个音频代码库 - >解码轨道并将其发送给ao进行播放。
现在问题是:我如何实现这个?我的困难在主文件中。我写了“菜单”(“播放/暂停,跳过,ecc ....)线程代码。现在音频线程必须与主分离(因为无法阻止程序,播放功能在一段时间内),但必须与菜单线程沟通......我怎么能这样做?
我正在使用g ++和C ++ 11线程模块。 谢谢你的时间
Ps:如果这个问题与规则不一致,我会立即修改这个问题!
答案 0 :(得分:1)
如果您使用的是pthread,请使用互斥锁变量或队列。 pthread通信有很多例子可供使用。 pthread mutex variables to communicate among threads
答案 1 :(得分:1)
使用菜单和音频线程共有的队列。菜单线程用命令填充队列,音频线程偶尔会检查它。
您可以在http://moodycamel.com/blog/2013/a-fast-lock-free-queue-for-c++
中找到无锁线程安全队列的一个实现