- 406 名前:デフォルトの名無しさん [2009/02/23(月) 21:19:24 ]
- スレッドに別のスレッドから信号を送って途中で処理をキャンセルしたいのですが、
現状、以下のようにしています。 void run() { // スレッド実行部 for () { // 長いループ ...処理... if (check()) return; // 処理をキャンセル } } check()でキャンセルのフラグをチェックし、このフラグを別のスレッドから書き換えるという方法です。 でもこの方法だとループ内の処理が重くなったときにキャンセル操作に対する反応も遅くなってしまうため どうしたものかと悩んでます。 スレッド内でタイマーのようなものを発行して、定期的にcancel()のチェックをするといった方法はできないでしょうか? 環境はVC9です。
|

|