2

我在我的程序中使用 editline 库,用于在 shell 中输入用户命令。但是由于 shell,程序有一个 gui 界面,所以我需要在单独的线程中运行 editline 的 readline() 函数,因为它会阻塞直到按下 Enter。有没有办法在不阻塞的情况下使用 readline() 函数,所以我可以避免单独使用线程?

4

1 回答 1

0

为什么不让 GUI 线程在不同的线程中运行,并将控制台输入留在主线程中。从命令行读取后,您可以将事件推送到 GUI 线程。在我看来,这要简单得多。

如果您的 GUI 允许您在与主线程不同的线程中运行它,这当然有效。

稍后编辑:您不能只创建一个文本控件/窗口并从那里获取输入吗?按下 Enter 后,它会清除输入 - 就像在控制台输入消息一样?我相信在 GUI 中拥有所有内容要简单得多

于 2010-06-14T12:12:18.217 回答