orTimeout() dan completeOnTimeOut()#🎜🎜 kedua-duanya dalam kaedah #🎜🎜 # Ditakrifkan dalam kelas CompletableFuture , kedua-dua kaedah ini diperkenalkan dalam Java 9. Kaedah orTimeout() boleh digunakan untuk menentukan bahawa jika tugasan yang diberikan tidak disiapkan dalam masa tertentu, program menghentikan pelaksanaan dan membuang TimeoutException strong>sementara # 🎜🎜#completeOnTimeOut Kaedah () melengkapkan CompletableFuture menggunakan nilai yang disediakan. Jika tidak, ia akan selesai sebelum tamat masa yang diberikan. Sintaks orTimeout()
<strong>public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)</strong>
import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; public class OrTimeoutMethodTest { public static void main(String args[]) throws InterruptedException { int a = 10; int b = 15; <strong>CompletableFuture</strong>.supplyAsync(() -> { try { TimeUnit.SECONDS.sleep(5); } catch(InterruptedException e) { e.printStackTrace(); } return a + b; }) .<strong>orTimeout</strong>(4, TimeUnit.SECONDS) .<strong>whenComplete</strong>((result, exception) -> { System.out.println(result); if(exception != null) exception.printStackTrace(); }); TimeUnit.SECONDS.sleep(10); } }
<strong>25 </strong>
<strong>public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)</strong>
import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; public class CompleteOnTimeOutMethodTest { public static void main(String args[]) throws InterruptedException { int a = 10; int b = 15; <strong>CompletableFuture</strong>.supplyAsync(() -> { try { TimeUnit.SECONDS.sleep(5); } catch(InterruptedException e) { e.printStackTrace(); } return a + b; }) .<strong>completeOnTimeout</strong>(0, 4, TimeUnit.SECONDS) .<strong>thenAccept</strong>(result -> System.out.println(result)); TimeUnit.SECONDS.sleep(10); } }
<strong>25</strong>
Contoh# ##Terjemahan Bahasa Cina🎜🎜 ialah: rrreee
Atas ialah kandungan terperinci Apakah perbezaan antara kaedah orTimeout() dan kaedah completeOnTimeOut() dalam Java 9?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!