Rumah >Java >javaTutorial >Apakah peraturan untuk antara muka Langganan dalam Java 9?

Apakah peraturan untuk antara muka Langganan dalam Java 9?

PHPz
PHPzke hadapan
2023-08-31 08:09:081228semak imbas

Java 9中的Subscription接口有哪些规则?

A langganan boleh dikongsi oleh penerbit dan pelanggan untuk tujuan pengantaraan #🎜#🎜 🎜🎜#Pertukaran. Inilah sebabnya kaedah subscribe() tidak mengembalikan langganan yang dibuat, sebaliknya mengembalikan void. Langganan hanya dihantar kepada pelanggan melalui kaedah onSubscribe(). Antara muka langganan mengandungi dua kaedah: request() dan cancel(). Tatabahasa

<strong>public interface Subscription {
   public void request(long n);
   public void cancel();
}</strong>

Peraturan antara muka langganan:

#🎜🎜🎜#🎜🎜🎜🎜🎜 Kaedah )

dan
    Subscription.cancel()
  • hanya boleh dipanggil dalam konteks pelanggan mereka. Langganan mesti membenarkan pelanggan memanggil Subscription.request() kaedah
  • onNext()
  • atau #🎜🎜() dari dalamSubscribe Kaedah. Subscription.request() Kaedah mesti menetapkan had atas yang mungkin antara penerbit
  • dan
  • pelanggan#🎜 rekursi. Subscription.request()Kaedah harus menghormati tindak balas pemanggil mereka dengan mengembalikan #🎜🎜() #Langganan🎜 🎜# Kaedah mesti menghormati tindak balas pemanggil dengan kembali segera dan mesti
  • thread-safe
  • . Walaupun langganan tidak dibatalkan, kaedah
  • Subscription.request(long n)
  • mesti mendaftarkan bilangan elemen tambahan yang diberikan untuk dijana untuk pelanggan yang sepadan. Walaupun langganan tidak dibatalkan, kaedah Subscription.request(long n) strong> mesti memanggil
  • onError()
  • dan membuang # 🎜🎜 #IllegalArgumentException jika parameter ialah
  • Apabila langganan tidak dibatalkan, kaedah
  • Subscription.request(long n) boleh dipanggil serentak onNext() pada ini pelanggan atau pelanggan lain. Apabila langganan tidak dibatalkan, kaedah Subscription.request(long n) boleh dipanggil serentak
  • onComplete() atau #🎜 🎜# onError() kaedah. Walaupun langganan tidak dibatalkan, kaedah
  • Subscription.cancel()
  • mesti meminta penerbit berhenti memberi isyarat kepada pelanggannya. Operasi ini tidak menjejaskan langganan serta-merta. Walaupun langganan tidak dibatalkan, kaedah Subscription.cancel() mesti meminta penerbit memadamkan sebarang rujukan kepada langganan yang sepadan. Memanggil kaedah
  • Subscription.cancel()
  • dan Subscription.request() mesti kembali seperti biasa.
  • >Langganan mesti menyokong bilangan permintaan panggilan tanpa had dan menyokong maksimum
  • 2^63-1
  • keperluan. Jika permintaan adalah sama dengan atau lebih besar daripada 2^63-1, penerbit boleh mempertimbangkan sahunbounded.

Atas ialah kandungan terperinci Apakah peraturan untuk antara muka Langganan dalam Java 9?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam