PhantomReferences を使用してファイナライザーを回避しながら、一部の JNI リソースを確実に解放するライブラリーを検討してください。
1 つのアーキテクチャには、参照キューと、クリーンアップを実行する参照キューでのスレッド ブロックが含まれます。
ここで問題が発生します。これらすべてのテストを作成するにはどうすればよいでしょうか。
- システムのセットアップ
- 興味のあるオブジェクトを作成する
- ゴミにしよう
- System.gc()
- どういうわけかスレッドが目覚めるのを待ち、コーヒーの匂いを嗅ぎ、仕事をする
- これらすべてが発生したことを証明するために、内部カウンターがチェックされていることをアサートする
Thread.sleep()
は効果的ですが、項目 5Thread.yield()
については不安です。まったく信頼できません。他にどのようなオプションがありますか?