掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
スレッドを安全かつ確実に停止するには? (ID:72236)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
既に回答ついていますが…… > for(;;) > { > if(g_fStop == TRUE) > { > break; > } > Sleep(1000); > } だと、forループ中にg_fStopが変化するコードがありません。 であれば、 > for(;;) > { > Sleep(1000); > } と同じ意味になります。(変化がないのですから無駄なコードは省くように『最適化』されます) 他のスレッドで変更していようが、局所的にみるとそんな事実はコンパイラは知りません。 # 割り込み処理により特定レジスタのビットが変化する…とか、そういう場合でもコンパイラにとっては知ったことではありません。 が、それでは困るので最適化などでコードが削除されないようにvolatile指定が必要になります。 「volatile c言語」辺りで検索すると説明されているページも見つかるでしょう。 # ちなみに、私の場合スレッドの終了要求はイベントオブジェクトでやっています。 # 中断できるようなところでWaitForSingleObject()/WaitForMultipleObject()でチェックしています。 # 方法自体は何通りもある…でしょうけど。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.