スレッドの終了の仕方


研究者  2005-03-03 09:51:34  No: 56565

マルチスレッドの終了の仕方について質問があります。

ループ処理を実行中のスレッドを他のスレッドから
ループ処理の条件以外で終了させたいのですが
TerminateThread()を使用して強制終了させると
メモリーリークが発生する可能性があるようなんで
他の方法を探しています。

やはりループの中身にPeekMessage()を使用し終了メッセージが
あるかチェックするしか方法は無いのでしょうか?
その場合PeekMessage()の呼び出し位置以降で
終了メッセージを受けると次のPeekMessage()まで待たないと
行けないですよね。
即、終了させる方法はないでしょうか?


あああ  2005-03-03 10:55:26  No: 56566

ポーリングなら PeekMessage を複数挿入して頻度を上げる。

そのループがブロッキングできる作りなら
MsgWaitForMultipleObjectsEx や
WaitForMultipleObjects で待機。Event で通知する。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加