cupidsd 发表于 2009-6-4 10:52:51

在控制台下如何同时处理用户键盘输入和控制台输出?

我需要设计一个程序,一方面需要接受用户的键盘输入,比如某些按键作为程序的开始、结束或者暂停等,另一方面需要从串口中接收数据并进行处理后输出到控制台中。

为了解决这个问题,我采用了ncurses和多线程编程。我使用ncurses设计了三个window,一个用来接收用户输入,一个用来输出信息,另外一个用于显示某些状态信息。而且,我设计了两个进程,一个处理串口数据接收和处理,并输出至其中一个window,另外一个进程接收用户的输入。

现在的问题,两个进程跑起来之后,似乎一个进程不停的往一个window输出信息,从而导致我的用户接收进程得不到cpu从而使得我的键盘输入根本就没有响应。

实在不知道怎么办了?欢迎大家给些意见。

默难 发表于 2009-6-11 13:48:42

用非阻塞模式或者异步方式.

参考使用 select poll epoll等类似函数
页: [1]
查看完整版本: 在控制台下如何同时处理用户键盘输入和控制台输出?