0
プロジェクトでは、複数のステートマシンをラッパークラスに作成しています。各ラッパーは独自のスレッドで実行されます。ジョブが完了すると、ラッパークラスのデストラクタが呼び出され、そこでスレッドを停止します。デストラクタで現在のスレッドを終了
thread.join()
を使用している場合は、デッドロックが発生します(それ自体が参加しようとしているため)。私たちは何とか別のスレッドを通知することができますが、それはちょっと乱雑です。
オブジェクトが破壊されたときにクラスが実行されているスレッドを正しく終了させる方法はありますか?
私は、通常_has a_関係のクラスでスレッドを使用しています。このクラスは、スレッド関数内で実行すべき処理を制御するAPIを形成します。 FSMを使用している場合は、私の[STTCL](https://github.com/makulik/sttcl)フレームワークに興味があるかもしれません。 –
もちろん、ラッパーの「ジョブが完了しました」では、対応するスレッド関数は? –