c - 在不同线程中使用 Windows C 等待 "any key"

标签 c windows multithreading

我的主要应用程序是从连续流式传输数据的音频设备解析数据。我希望能够让用户按任意键停止进程,然后我的应用程序将停止解析并将所有接收到的数据保存到文件中。

解析循环看起来很像这样:

while(1)
{
    audio_read(buf);
}

所以连续地,我想听一个键输入来停止这个执行。我不想在读取音频数据时轮询 key ,因为这必须尽快运行。 我试过阅读微软的 documentation但我真的不明白如何轻松设置代码以在不同线程中执行函数。

最佳答案

一个线程将等待按键,并设置一个 bool 标志。正在处理音频数据的线程需要定期检查是否设置了此标志。

关于c - 在不同线程中使用 Windows C 等待 "any key",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23336058/

相关文章:

c++ - 十六进制数组 cout 到文本文件失败

windows - 在 Windows 7 中使用 nutch

c - 64位系统如何添加n个字节

Mysql错误1036表是只读的

c - 如何用\x1b[2j清屏?

java - 如何向所有线程发送消息

java - 收集线程中的值并将其保存到 java 套接字数组中

c++ - 具有自定义 VideoCapturer 的 WebRTC native (C++) 无法通过 main_thread_.CalledOnValidThread() 检查

c - printf() 之后链接列表丢失所有值

c - 初始化指向结构的指针时出现无效的初始化程序错误