Rumah > Java > javaTutorial > Apakah perbezaan antara kaedah orTimeout() dan kaedah completeOnTimeOut() dalam Java 9?

Apakah perbezaan antara kaedah orTimeout() dan kaedah completeOnTimeOut() dalam Java 9?

WBOY
Lepaskan: 2023-08-27 22:53:04
ke hadapan
1131 orang telah melayarinya

Java 9中orTimeout()方法和completeOnTimeOut()方法之间的区别是什么?

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>
Salin selepas log masuk

Contoh

terjemahan bahasa Cina ialah:

Contoh

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);
   }
}
Salin selepas log masuk

<strong>25
</strong>
Salin selepas log masuk
#🎜#
<strong>public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)</strong>
Salin selepas log masuk
#🎜 #
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);
   }
}
Salin selepas log masuk

completeOnTimeOut() Sintaks

<strong>25</strong>
Salin selepas log masuk

Contoh# ##Terjemahan Bahasa Cina🎜🎜 ialah: rrreee

output

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan