问题描述
我目前正在制作一个打字游戏的项目,我想在顶部有一个倒计时时钟窗口,在臀部上运行一个打字窗口,该窗口必须平行运行。
我现在唯一想到的方法就是多线程,而且我已经研究了它,看来我必须使用use_screen()
或use_window()
之类的东西才能在ncurses中获得多线程支持。但我找不到有关它的任何示例或教程。
所以我的问题是,有人可以给我一个ncurses中多线程用法的例子吗?
或者如果在ncurses中有不同的并行执行方法?
顺便说一句,我使用c ++,但是任何一种语言都可以。
解决方法
对于您的预期用例,您可以仅在主线程中创建2个窗口。一个用于倒计时窗口,另一个用于键入窗口。使用newwin
,您将获得2 WINDOW*
。然后,您可以设置窗口的所有属性。
然后,您可以为倒数计时窗口编写代码,
此代码将从std::async
开始,其中将各自的WINDOW*
作为其参数之一。关联的代码会将带有给定参数的倒计时值写入窗口。
其余代码在主窗口中使用输入和输出功能。
恕我直言,这将是最简单的方法。