1. ホーム
  2. java

Java:コードの特定のブロックにタイムアウトを設定しますか?

2023-09-19 14:32:41

質問

コードのブロックが許容範囲を超えて実行された後、Javaに強制的にExceptionを投げさせることは可能ですか?

どのように解決するのですか?

はい、しかし一般的に、コードのランダムな行で他のスレッドを強制的に中断させるのは非常に悪い考えです。プロセスをシャットダウンするつもりである場合にのみ、これを行うことになります。

あなたができることは Thread.interrupt() を一定時間後のタスクに使うことです。 しかし、コードがこれをチェックしない限り、うまくいきません。ExecutorServiceを使えば、これを簡単にすることができます。 Future.cancel(true)

コードが自ら時間を計って、必要なときに停止する方がずっと良いのです。