我是异步编程的新手,尝试在我的'textBox'类中创建一个简单的“鼠标监听器”。C++异步循环
这是我尝试:
void textBox::Listener() {
while (1) {
sf::Vector2i position= sf::Mouse::getPosition(window);
if ((GetKeyState(VK_LBUTTON) & 0x80) != 0) {
isPressed(position.x, position.y);
}
}
}
void textBox::init() {
std::thread t(&textBox::Listener,this);
t.join();
}
我想称之为“监听()”函数时,我的“文字框”对象初始化,它应该等待我的点击。
的问题是,我不能使用任何其他的功能,同时我的程序运行,因为监听()函数不会去异步
究竟是什么问题?你已经解释了你想要的,并且你有一个你尝试过的例子,但是你没有告诉我们出了什么问题。 – Borgleader
问题是我的程序运行时我无法使用任何其他函数,因为Listener()函数没有异步执行 – Aron
请注意't.join();'要等待线程结束之前它继续。 – NathanOliver