いくつかのプロジェクトでは、多くの場合、それに対処するためにどのようにこの時間、応答しない理由もなく呼び出しますか?
ここでは解決策を提案しています。
これは、スレッドコントロールを使用して行われます。
輸入java.util.concurrent.Callable; 輸入java.util.concurrent.ExecutorService; 輸入java.util.concurrent.Executors。 輸入java.util.concurrent.Future; 輸入java.util.concurrent.TimeUnit。 パブリック クラスのテスト{ プライベート 静的 ExecutorServiceのEXEC = Executors.newFixedThreadPool(1 )。 公共の 静的な 無効メイン(String []型agst){ 試み{ // Callabal <文字列>文字列:是返回值类型 呼び出し可能<文字列>呼び出し可能= 新しい呼び出し可能<文字列> (){ 公共の文字列()の呼び出しはスロー例外{ のThread.sleep( 2010 ); // 方法のニーズが呼び出すかするインターフェース // 値の戻り値を直接返すインタフェース戻るなら リターンを「成功」; } }; 未来の<string> =送信Execの。 (呼び出し可能)を提出; // インターフェイスの結果の戻り値は、取得(2 "時間"、TimeUnit.SECONDS "タイムタイプ") 文字列submit.get結果=(2 、TimeUnit.SECONDS); // 独自のロジック } キャッチ( E例外){ } System.out.printlnは(E)。 } }
その後、テストを行う際に、使用中のテストを使用していないコードを変更します。