语法public interface subscription { public void request(long n); public void cancel();}
订阅接口规则:
subscription.request() 和 subscription.cancel() 方法只能在其订阅者上下文内部调用。订阅必须允许订阅者从内部同步调用 subscription.request() 方法onnext() 或 onsubscribe() 方法。subscription.request() 方法必须设置可能的上限发布者和订阅者之间的同步递归。subscription.request()方法应通过返回来尊重其调用者的响应性subscription.cancel()方法必须通过及时返回来尊重调用者的响应能力,并且必须是线程安全的 strong>。虽然订阅未取消,subscription.request(long n) 方法必须注册要为相应订阅者生成的给定数量的附加元素。虽然订阅未取消,但 subscription.request(long n) 方法必须调用 onerror() 方法并抛出 illegalargumentexception if参数为当订阅未取消时,subscription.request(long n)方法可能会同步调用onnext()方法在此订阅者或其他订阅者上。当订阅未取消时,subscription.request(long n) 方法可能会同步调用 oncomplete() 或 onerror()方法。虽然订阅未取消,但subscription.cancel()方法必须请求发布者停止向其发出信号订户。该操作不能立即影响订阅。虽然订阅未取消,subscription.cancel() 方法必须请求发布者删除对相应订阅的任何引用订阅者。调用subscription.cancel()和subscription.request()方法必须正常返回。 >订阅必须支持无限数量的请求调用,并支持最多2^63-1的需求。如果需求等于或大于2^63-1,发布者可能会认为有效无界。以上就是java 9中的subscription接口有哪些规则?的详细内容。
