一定の遅延後にメソッドを呼び出すことについて質問があります。
exampleFunction()
約 10 秒の遅延後にJava メソッドを呼び出したい。オンラインで解決策を探したところ、ScheduledThreadPoolExecutor()
. だから私はこれを使用しましたが、関数が10秒後に実行されると、スレッドから終了しません。スレッドを終了する方法はありますか? またはScheduledThreadPoolExecutor()
、新しいスレッドを作成する代わりに、現在のスレッドで を実行できますか?
class Test {
...
exampleFunction();
...
public void exampleFunction() {
ScheduledThreadPoolExecutor exec = new ScheduledThreadPoolExecutor(1);
exec.schedule(new Runnable() {
public void run() {
...do something here...
}
}, 10, TimeUnit.SECONDS);
}
}
exampleFunction が 10 秒の遅延後に実行された後、このスレッドを終了する方法はありますか? またはScheduledThreadPoolExecutor
、新しいスレッドを作成する代わりに、現在のスレッドを使用することはできますか?
または、この問題にアプローチできる別の方法はありますか? exampleFunction()
新しいスレッドを作成する代わりに、現在のスレッドで 10 秒後に実行できるようにしたいと考えています。
編集:スレッドの問題ではないかもしれません。私はまだ問題を理解しようとしています。皆さんの提案とアドバイスに感謝します。
編集: exampleFunction() に引数を渡してから、public void run() 内で使用できますか?