我是異步編程的新手,嘗試在我的'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