两个并行运行的ncurses窗口

问题描述

我目前正在制作一个打字游戏的项目,我想在顶部有一个倒计时时钟窗口,在臀部上运行一个打字窗口,该窗口必须平行运行。

我现在唯一想到的方法就是多线程,而且我已经研究了它,看来我必须使用use_screen()use_window()之类的东西才能在ncurses中获得多线程支持。但我找不到有关它的任何示例或教程。

所以我的问题是,有人可以给我一个ncurses中多线程用法的例子吗?

或者如果在ncurses中有不同的并行执行方法

顺便说一句,我使用c ++,但是任何一种语言都可以。

解决方法

对于您的预期用例,您可以仅在主线程中创建2个窗口。一个用于倒计时窗口,另一个用于键入窗口。使用newwin,您将获得2 WINDOW*。然后,您可以设置窗口的所有属性。

然后,您可以为倒数计时窗口编写代码,

此代码将从std::async开始,其中将各自的WINDOW*作为其参数之一。关联的代码会将带有给定参数的倒计时值写入窗口。

其余代码在主窗口中使用输入和输出功能。

恕我直言,这将是最简单的方法。