언어

SubmissionPublisher.Offer 메서드

정의

오버로드

속성 Description
Offer(Object, IBiPredicate)

가능한 경우 해당 메서드를 비동기적으로 호출하여 지정된 항목을 각 현재 구독자에 게시합니다 Flow.Subscriber#onNext(Object) onNext .

Offer(Object, Int64, TimeUnit, IBiPredicate)

지정된 항목을 가능한 경우 해당 메서드를 비동기적으로 호출하고 Flow.Subscriber#onNext(Object) onNext , 구독에 대한 리소스를 사용할 수 없는 동안 차단하거나, 지정된 시간 제한까지 또는 호출자 스레드가 중단될 때까지, 지정된 처리기(null이 아닌 경우)가 호출되고, true를 반환하는 경우 한 번 다시 시도하여 각 현재 구독자에 게시합니다.

Offer(Object, IBiPredicate)

가능한 경우 해당 메서드를 비동기적으로 호출하여 지정된 항목을 각 현재 구독자에 게시합니다 Flow.Subscriber#onNext(Object) onNext .

[Android.Runtime.Register("offer", "(Ljava/lang/Object;Ljava/util/function/BiPredicate;)I", "GetOffer_Ljava_lang_Object_Ljava_util_function_BiPredicate_Handler", ApiSince=33)]
public virtual int Offer(Java.Lang.Object? item, Java.Util.Functions.IBiPredicate? onDrop);
[<Android.Runtime.Register("offer", "(Ljava/lang/Object;Ljava/util/function/BiPredicate;)I", "GetOffer_Ljava_lang_Object_Ljava_util_function_BiPredicate_Handler", ApiSince=33)>]
abstract member Offer : Java.Lang.Object * Java.Util.Functions.IBiPredicate -> int
override this.Offer : Java.Lang.Object * Java.Util.Functions.IBiPredicate -> int

매개 변수

item
Object

게시할 (null이 아닌) 항목

onDrop
IBiPredicate

null이 아니면 구독자와 항목의 인수를 사용하여 구독자에 대한 드롭 시 호출된 처리기입니다. true를 반환하면 제품이 다시 시도됩니다(한 번).

반품

음수이면 (음수) 낙하 횟수; 그렇지 않으면 최대 지연의 추정치입니다.

특성

설명

가능한 경우 해당 메서드를 비동기적으로 호출하여 지정된 항목을 각 현재 구독자에 게시합니다 Flow.Subscriber#onNext(Object) onNext . 리소스 제한을 초과하는 경우 하나 이상의 구독자가 항목을 삭제할 수 있습니다. 이 경우 지정된 처리기(null이 아닌 경우)가 호출되고 true를 반환하는 경우 한 번 다시 시도합니다. 처리기가 호출되는 동안 다른 스레드에 의해 이 클래스의 메서드에 대한 다른 호출이 차단됩니다. 복구가 보장되지 않는 한 옵션은 일반적으로 오류를 로깅하거나 구독자에게 신호를 발급하는 Flow.Subscriber#onError(Throwable) onError 것으로 제한됩니다.

이 메서드는 상태 표시기를 반환합니다. 음수이면 (음수) 삭제 횟수(구독자에게 항목을 발급하지 못했음)를 나타냅니다. 그렇지 않으면 모든 현재 구독자 중 최대 지연 시간(제출되었지만 아직 소비되지 않은 항목 수)의 추정치입니다. 구독자가 있는 경우 이 값은 하나 이상(제출된 항목에 대한 계정)이고, 그렇지 않으면 0입니다.

이 게시자에 대한 실행기가 구독자에게 비동기적으로 알리려고 할 때 RejectedExecutionException(또는 다른 RuntimeException 또는 오류)을 throw하거나 삭제된 항목을 처리할 때 삭제 처리기가 예외를 throw하면 이 예외가 다시 throw됩니다.

에 대한 java.util.concurrent.SubmissionPublisher.offer(T, java.util.function.BiPredicate<java.util.concurrent.Flow.Subscriber<? super T>, ? super T>)Java 설명서

이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.

적용 대상

Offer(Object, Int64, TimeUnit, IBiPredicate)

지정된 항목을 가능한 경우 해당 메서드를 비동기적으로 호출하고 Flow.Subscriber#onNext(Object) onNext , 구독에 대한 리소스를 사용할 수 없는 동안 차단하거나, 지정된 시간 제한까지 또는 호출자 스레드가 중단될 때까지, 지정된 처리기(null이 아닌 경우)가 호출되고, true를 반환하는 경우 한 번 다시 시도하여 각 현재 구독자에 게시합니다.

[Android.Runtime.Register("offer", "(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Ljava/util/function/BiPredicate;)I", "GetOffer_Ljava_lang_Object_JLjava_util_concurrent_TimeUnit_Ljava_util_function_BiPredicate_Handler", ApiSince=33)]
public virtual int Offer(Java.Lang.Object? item, long timeout, Java.Util.Concurrent.TimeUnit? unit, Java.Util.Functions.IBiPredicate? onDrop);
[<Android.Runtime.Register("offer", "(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Ljava/util/function/BiPredicate;)I", "GetOffer_Ljava_lang_Object_JLjava_util_concurrent_TimeUnit_Ljava_util_function_BiPredicate_Handler", ApiSince=33)>]
abstract member Offer : Java.Lang.Object * int64 * Java.Util.Concurrent.TimeUnit * Java.Util.Functions.IBiPredicate -> int
override this.Offer : Java.Lang.Object * int64 * Java.Util.Concurrent.TimeUnit * Java.Util.Functions.IBiPredicate -> int

매개 변수

item
Object

게시할 (null이 아닌) 항목

timeout
Int64

포기하기 전에 구독자에 대한 리소스를 기다리는 시간(다음 단위) unit

unit
TimeUnit

TimeUnit 매개 변수를 해석 timeout 하는 방법 결정

onDrop
IBiPredicate

null이 아니면 구독자와 항목의 인수를 사용하여 구독자에 대한 드롭 시 호출된 처리기입니다. true를 반환하면 제품이 다시 시도됩니다(한 번).

반품

음수이면 (음수) 낙하 횟수; 그렇지 않으면 최대 지연의 추정치입니다.

특성

설명

지정된 항목을 가능한 경우 해당 메서드를 비동기적으로 호출하고 Flow.Subscriber#onNext(Object) onNext , 구독에 대한 리소스를 사용할 수 없는 동안 차단하거나, 지정된 시간 제한까지 또는 호출자 스레드가 중단될 때까지, 지정된 처리기(null이 아닌 경우)가 호출되고, true를 반환하는 경우 한 번 다시 시도하여 각 현재 구독자에 게시합니다. (삭제 처리기는 현재 스레드가 중단되었는지 여부를 확인하여 시간 제한을 인터럽트에서 구분할 수 있습니다.) 처리기가 호출되는 동안 다른 스레드에 의해 이 클래스의 메서드에 대한 다른 호출이 차단됩니다. 복구가 보장되지 않는 한 옵션은 일반적으로 오류를 로깅하거나 구독자에게 신호를 발급하는 Flow.Subscriber#onError(Throwable) onError 것으로 제한됩니다.

이 메서드는 상태 표시기를 반환합니다. 음수이면 (음수) 삭제 횟수(구독자에게 항목을 발급하지 못했음)를 나타냅니다. 그렇지 않으면 모든 현재 구독자 중 최대 지연 시간(제출되었지만 아직 소비되지 않은 항목 수)의 추정치입니다. 구독자가 있는 경우 이 값은 하나 이상(제출된 항목에 대한 계정)이고, 그렇지 않으면 0입니다.

이 게시자에 대한 실행기가 구독자에게 비동기적으로 알리려고 할 때 RejectedExecutionException(또는 다른 RuntimeException 또는 오류)을 throw하거나 삭제된 항목을 처리할 때 삭제 처리기가 예외를 throw하면 이 예외가 다시 throw됩니다.

에 대한 java.util.concurrent.SubmissionPublisher.offer(T, long, java.util.concurrent.TimeUnit, java.util.function.BiPredicate<java.util.concurrent.Flow.Subscriber<? super T>, ? super T>)Java 설명서

이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.

적용 대상