处理用户输入时,来自ncurses的getch()比多线程更好吗?

时间:2016-11-14 13:18:45

标签: multithreading ncurses

我正在开发游戏,现在我正在使用ncurses库提供的getch函数。

来自here

  

nodelay选项会导致getch成为非阻止呼叫。如果没有准备好输入,则getch返回ERR。如果禁用(bf为FALSE),则getch会等待,直到按下某个键。

也就是说,默认情况下getch()是阻塞函数,如果将nodelay设置为TRUE,则可以使用非阻塞输入用户函数。

在另一种方法中,我可以使用多线程来捕获用户输入而不会阻碍游戏过程。

问题

我是否浪费时间使用线程重写代码或使用该方法获得某些内容(速度响应,可移植性等)?

Ncurses是一个很好的库来制作控制台应用程序,但我对用户输入有疑问。

1 个答案:

答案 0 :(得分:2)

如果您的多线程应用程序使用多个线程使用显示器,则无需付出一些努力就无法工作。

ncurses常见问题解答说明了更多信息: Why does (fill in the blank) happen when I use two threads?