7

pthread と同じように Boost Thread をキャンセルできますか?

ワーカー スレッドがクラッシュした場合にワーカー スレッドを終了するための簡単なウォッチドッグを作成していますが、Boost Thread ライブラリのスレッドを単純にキャンセルする方法がないようです。

4

2 に答える 2

10

キャンセルはサポートされていません。これは、あらゆる種類の微妙な問題を引き起こす可能性があるため、良いことです。

スレッドの中断と boost::thread_interrupted 例外をカバーするドキュメントのセクションを見て、物事をクリーンアップしながら目的を達成できる何かを作成してください。

于 2009-06-24T20:20:29.243 に答える
2

( Duckが指摘しているように)箱から出してキャンセルすることはサポートされていませんが、ワーカースレッド内で行われている処理によってはboost::condition、スレッドを(クリーンに)終了するように通知するためにを使用することを検討します。できるだけ早い機会に。

于 2009-06-24T22:22:06.893 に答える