【问题标题】:multithreading, thread sync多线程,线程同步
【发布时间】:2014-02-07 06:56:54
【问题描述】:

[菜鸟问题] 大家晚上好。首先,对不起我的英语,我正在努力更好地了解这种语言。

我有三个文件:

Main.cpp -> 包含图形界面、菜单线程和音频线程。 Lettore.cpp -> 包含重新调整文件类型和使用正确库播放音频的功能,还包含停止、播放、暂停、跳过歌曲的功能。 两个音频代码库 -> 将音轨解码并发送到ao播放。

现在的问题是:我该如何实现呢?我的困难在于主文件。我写了"menu"("play/pause,skip,ecc....) 线程代码。现在音频线程必须和main分离(因为不能阻塞程序,播放的功能在一会儿),但必须与菜单线程通信...我该怎么做?

我正在使用带有 C++11 线程模块的 g++。 感谢您的宝贵时间

Ps:如果这个问题不符合规则,我会立即修改这个问题!

【问题讨论】:

  • 发布你已经做过的事情。

标签: c++ multithreading audio


【解决方案1】:

使用菜单和音频线程通用的队列。菜单线程用命令填充队列,音频线程偶尔会检查它。

您可以在http://moodycamel.com/blog/2013/a-fast-lock-free-queue-for-c++ 中找到一种无锁线程安全队列的实现

【解决方案2】:

如果您使用 pthread,请使用互斥变量或队列。有很多可用于 pthread 通信的示例。 pthread mutex variables to communicate among threads

inter thread communication

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-25
    • 2012-03-06
    • 2015-08-23
    • 1970-01-01
    • 2011-11-09
    • 2011-12-28
    • 1970-01-01
    相关资源
    最近更新 更多