多线程控制台应用程序:在按键上暂停,无需繁忙等待

时间:2016-05-03 12:39:38

标签: multithreading c++11 keypress busy-waiting

我正在用C ++ 11编写一个多线程控制台应用程序。我希望它能独立于操作系统,但我在Linux机器上。

我希望能够在按键时暂停线程,但是允许程序在没有任何按键的情况下完成并退出。目前我的主要线程的伪代码如下。

while other threads are executing
  sleep for 1 second
  if keypress
    *do stuff*
  end if
end while

所以这就像忙碌的事情。我想知道是否有更好的方法来做到这一点。

1 个答案:

答案 0 :(得分:-3)

实现它的一种方法(也是以跨平台的方式)是使用libSDL,SDL_KeyboardEvent