循环时等待指令而不停止

时间:2013-06-11 10:37:47

标签: c++ console-input

我设计了一个代表机械臂的C ++应用程序。模拟在while循环中运行。 我有以下类主板与模拟交互

class Motherboard
{
public:
void receiveInstruction(double angle);
}

我还有一个事件接收器,它在模拟过程中等待键盘指令。我不会复制完整的课程,但这里是有趣的部分(前缀irr来自我使用Irrlicht 3D引擎的事实):

case irr::KEY_SPACE:
     // Do something
     return true;
case irr::KEY_RETURN:
     std::cin << angle
     motherboard->receiveInstruction(atof(angle))
     return true;

其中angle的类型为char [],atof将字符串转换为double。当我在键盘上输入RETURN键时,模拟会冻结,直到我完成输入角度指令。

在输入指令时,如何让模拟运行,并在输入信息后立即发送指令?线程是否不可避免? (我在Windows上运行)

祝你好运

文森特

1 个答案:

答案 0 :(得分:0)

是的,似乎是这样,一个单独的线程是不可避免的,或者至少是最优雅的方式。