QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2112|回复: 1

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

[复制链接]
发表于 2009-6-4 10:52:51 | 显示全部楼层 |阅读模式
我需要设计一个程序,一方面需要接受用户的键盘输入,比如某些按键作为程序的开始、结束或者暂停等,另一方面需要从串口中接收数据并进行处理后输出到控制台中。

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

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

实在不知道怎么办了?欢迎大家给些意见。
发表于 2009-6-11 13:48:42 | 显示全部楼层
用非阻塞模式或者异步方式.

参考使用 select poll epoll等类似函数
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-3-29 07:20 , Processed in 0.125295 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表