私はフィールドとしてThread
を含むクラスを持っていて、クラスがガーベッジ・コレクションを取得するとスレッドは実行され続けますが、これは起こりたくありません。無限に実行中のスレッドをクリーンアップする方法はありますか?
:
public class A
{
Thread thread;
public A()
{
thread = new Thread() {
@Override
public void run()
{
while(!isInterrupted())
{
//Do work
}
}
};
thread.start();
}
}
しかし、Aがなくなったときに、スレッドが住んでいます。私はfinalize
メソッドの使用について読んだことがありますが、それは常に推奨されません。これを処理する正しい方法は何ですか?
ええ、私は手動で停止する方法か何かを呼び出す必要はありませ望んでいたがああましたよく –
@NameMcChangeはい、多少刺激的ですが、Javaのような言語のコースでも同じですので、明るいところでは誰も実際にそれに気を付けません。これはかなり典型的な方法であり、コードの読者に混乱を与えてはなりません。 –