std :: thread.joinには、私が手に負えないと考えることができる3つの関数と他のいくつかの関数があります。
a)スレッドの継続的な作成/終了/破棄を奨励するため、パフォーマンスを向上させ、アプリのリーク、スレッドの暴走、メモリの暴走、および一般的な制御不能の可能性を高めます。
b)不要な待機を強制することで、GUIイベントハンドラーを詰め込みます。その結果、顧客が嫌う「砂時計アプリ」が応答しなくなります。
c)応答性がなく、中断できないスレッドの終了を待機しているため、アプリのシャットダウンに失敗します。
d)その他の悪いこと。
あなたがマルチスレッドに不慣れであることを理解しています、そして私はあなたがそれで最高であることを望みます。また、私は今夜たくさんのAdnams Broadsideを持っていたと考えてください、しかし:
Join()と、TThread.WaitFor(Delphi)のような他の言語の友達は、Windows MEがオペレーティングシステムに対して行ったように、効率的なマルチスレッド化を行っています。
プール、タスク、アプリの有効期間のスレッド、生産者/消費者キューを介したスレッド間通信など、他のマルチスレッドの概念を理解するために一生懸命努力してください。実際、Join()以外のほとんどすべてのもの。