2016-03-18 4 views
1

オブジェクトBのインスタンスを含むオブジェクトAがあるとします。オブジェクトBは、タスクをデキューするスレッドを作成します。最終的に、このスレッドは、イベントが処理された後にオブジェクトAを廃棄する必要があるイベントを受け取ります(基本的にはターミナルイベントを表します)。 Aは本質的にスレッドを所有しているので、バックグラウンドスレッドで実行しているAを処分する安全な方法はないようです。私は別のスレッドにAを処分しなければならないのでしょうか?これを行うには安全な方法がありますか?そのスレッドで実行中にスレッドを所有するオブジェクトを安全に処分することはできますか?

答えて

1

Aが明示的にスレッドを強制終了しようとしない限り、それは問題ありません。 スレッドオブジェクトを保持している "B"は、スレッドオブジェクトを実行し続けるものではありません。スレッド自体が実行します。 スレッドオブジェクトは、スレッド自体が終了し、スレッドへの他のすべての明示的な参照が解放されるまで解放されません。

関連する問題