私が作成しているゲームでは、スレッドの多くのインスタンスを使用しますが、それらを追跡しません。
clientThread cT = new clientThread(socket);
new Thread(cT).start();
私が知る必要があるのは、トレッドのインスタンスが終了したとき(すべてのループが完了し、使用されなくなったとき)、メソッドのインスタンスと同じように、それは破棄されるということです。または、それを破棄するために特別なコードを使用する必要がありますか?
私が作成しているゲームでは、スレッドの多くのインスタンスを使用しますが、それらを追跡しません。
clientThread cT = new clientThread(socket);
new Thread(cT).start();
私が知る必要があるのは、トレッドのインスタンスが終了したとき(すべてのループが完了し、使用されなくなったとき)、メソッドのインスタンスと同じように、それは破棄されるということです。または、それを破棄するために特別なコードを使用する必要がありますか?
スレッドは通常のオブジェクトであり、他のオブジェクトと同様にガベージコレクションされます。スレッドオブジェクトの場合、スレッドが終了すると収集の対象になります。
完了するとすぐに破棄されrun()
ます。リリースするために特別なコードを追加する必要はありません。
注:破棄されたということは、メモリから削除されたことを意味するわけではありません(ただし、それ以上実行されません)。次のGCコレクションの実行時にGCされる可能性があります。
ガベージコレクターがそれに到達すると、それは破棄されます。
他の友達はあなたが尋ねたことに正確に答えました。コメントは1つだけです。
私はスレッドの多くのインスタンスを使用させていますが、それらを追跡していません。
これを行わないでください。つまり、new Thread(cT).start();
スレッドの生成を開始します。
スレッドプールとExecutorServiceについて読む