私は非同期プログラミングでは新しく、 "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();
}
は私が私の「てtextBox」オブジェクトが初期化時に「リスナー()」関数を呼び出すようにしたい、それは私のクリックを待つ必要があります。
は、これは私が試した方法です。リスナー()関数は非同期
問題は何ですか? Youveはあなたが望むものを説明し、あなたが試したものの例を持っていますが、何が間違っているか教えてくれません。 – Borgleader
問題は、Listener()関数が非同期的に実行されないため、プログラムの実行中にほかの関数を使用できないことです。 – Aron
't.join();はスレッドが終了するのを待つことに注意してくださいそれは続けます。 – NathanOliver