Ожидание инструкции без остановки цикла

Я разработал приложение на 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;

где угол имеет тип char [] и atof преобразует строку в двойное число. Когда я ввожу клавишу RETURN на клавиатуре, симуляция останавливается, пока я не завершу ввод инструкции угла.

Как мне продолжить работу симуляции, пока я печатаю инструкцию, и отправить инструкцию, как только я закончу ввод информации? Являются ли темы неизбежными? (Я работаю на Windows)

С наилучшими пожеланиями

Винсент

0

Решение

Да, кажется, что отдельная нить неизбежна или, по крайней мере, самый элегантный способ.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector