小编典典

您如何在Linux中使用C进行非阻塞控制台I / O?

linux

在C / Linux / OS X上如何不阻塞控制台IO?


阅读 279

收藏
2020-06-02

共1个答案

小编典典

你不是,真的。TTY(控制台)是一个非常有限的设备,您几乎不做非阻塞I / O。当你看到的东西,看起来像非阻塞I / O,说在诅咒你做什么/
ncurses的应用程序,被称为 原始I / O 。在原始I /
O中,没有字符的解释,没有擦除处理等。相反,您需要编写自己的代码来在执行其他操作时检查数据。

在现代C程序中,您可以通过将控制台I / O放入 线程 或轻量级进程来简化另一种方式。然后,I /
O可以以通常的阻塞方式进行,但是可以将数据插入队列以在另一个线程上进行处理。

更新资料

这是一个curses教程,涵盖了更多内容。

2020-06-02