メインスレッドでparrallelを実行しているスレッドを作成しました。両方のスレッドは何かを無限にやっています(どちらもwhile文を持っています)。メインスレッド(真)はフレーム内にゲームロジックを作成し、2番目のスレッドはソケットからメッセージを受け取ります。無限スレッドからのキャプチャ値C++
2番目のスレッドから返されることなく、2番目のスレッドから受け取ったメッセージの文字列値を各フレームのメインスレッドに取り込むことはできますか? C#では、メソッド呼び出し側で処理しますが、C++に役立つものは見つかりませんでした。 C++で実行することは可能ですか?スレッドを作成
機能:
void ReceiveMessage() {
//std::promise<int> p;
//auto f = p.get_future();
char buf[1024];
string usernput;
int bytesReceived = 0;
std::thread receiveMessage(&FactoredThread::ThreadFunction, *this);
receiveMessage.detach();
//pokusajporuke = f.get();
}
がThreadFunction:
void ThreadFunction() {
bytesReceived = 0;
while (true) {
bytesReceived = recv(sock, buf, 1024, 0);
if (bytesReceived > 0) {
string primljeniString = "";
for (int i = 0; i < sizeof(buf); i++) {
if (buf[i] != 0)
{
primljeniString += buf[i];
}
}
ZeroMemory(buf, 1024);
pokusajporuke = primljeniString;
}
}
}
メインスレッドの文字列を "pokusajporuke" を取得するには、どのように?
これを達成する方法はたくさんありますが、それぞれ独自の利点と欠点があります。あなたは今まで何を試しましたか?どのように失敗したのですか? – Frank
コードについては、私のペーストビンのリンクを確認してください。 https://pastebin.com/dvKXHDJf したがって、メソッドReceiveMessageでは、別のスレッド関数 "ThreadFunction"を作成しています。スレッド関数では、メインスレッドに「ポクサポロン」を得たいと思っています。 – user3147336
私たちにいくつかのコードを表示するとよいでしょう。つまり、[質問する](https://stackoverflow.com/help/how-to-ask)の良い質問をし、[最小限の、完全で証明可能な例](https://stackoverflow.com/help/mcve)を作る)。あなたの質問は広すぎます。 – Akira