发布者是无限数量的排序元素的提供者,根据订阅者的需求发布这些元素。 Publisher接口负责发布T类型的元素,并为订阅者提供连接到它的subscribe()方法。
<strong>public interface Publisher<T> {
public void subscribe(Subscriber<? super T><!--? super T--> s);
}</strong>
登录后复制
Publisher 接口的规则:
- 由 发出信号的 onNext() 方法总数发布者到订阅者的元素总数必须始终小于或等于订阅者订阅所请求的元素总数。
-
发布者可能会发出比请求的更少的onNext()方法,并通过调用onComplete()终止订阅或 onError() 方法。
-
onSubscribe()、onNext()、onError()订阅者发出信号的 /strong> 和 onComplete() 方法必须连续发出信号。
- 如果发布者失败,则必须向发出信号>onError() 方法。
- 如果 Publisher 成功终止,则它必须发出 onComplete() 方法信号。
- 如果 Publisher 发出信号订阅者上的 onError() 或 onComplete() 方法,则必须取消订阅者的订阅。
- 一旦终端状态发生如果订阅被取消,则其订阅者必须停止收到信号。
-
Publisher.subscribe() 方法必须在向该订阅者发送任何其他信号之前调用 onSubscribe() 方法。 >订阅者并正常返回,除非提供的订阅者为空。在这种情况下,它必须向调用者抛出 NullPointerException。
-
Publisher.subscribe() 方法可以根据需要使用不同的值调用任意多次。每次订阅者。
-
发布者可以支持多个订阅者,并决定每个订阅可以是单播还是多播。
以上是Java 9中Publisher接口的规则是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!