語言

LinkedTransferQueue.TryTransfer 方法

定義

多載

名稱 Description
TryTransfer(Object)

如果可能,立即將元件轉移給等待中的消費者。

TryTransfer(Object, Int64, TimeUnit)

若能在逾時期內將元件轉移給消費者,則會進行。

TryTransfer(Object)

如果可能,立即將元件轉移給等待中的消費者。

[Android.Runtime.Register("tryTransfer", "(Ljava/lang/Object;)Z", "GetTryTransfer_Ljava_lang_Object_Handler")]
public virtual bool TryTransfer(Java.Lang.Object? e);
[<Android.Runtime.Register("tryTransfer", "(Ljava/lang/Object;)Z", "GetTryTransfer_Ljava_lang_Object_Handler")>]
abstract member TryTransfer : Java.Lang.Object -> bool
override this.TryTransfer : Java.Lang.Object -> bool

參數

e
Object

要轉移的元素

傳回

若元素被轉移,則為 true,否則為 false

實作

屬性

備註

如果可能,立即將元件轉移給等待中的消費者。

更精確地說,當已有消費者等待接收(在 #take 或定 #poll(long,TimeUnit) poll時)時,會立即傳送指定元素,否則會 false 返回且未排隊。

Java 參考 java.util.concurrent.LinkedTransferQueue.tryTransfer。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於

TryTransfer(Object, Int64, TimeUnit)

若能在逾時期內將元件轉移給消費者,則會進行。

[Android.Runtime.Register("tryTransfer", "(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z", "GetTryTransfer_Ljava_lang_Object_JLjava_util_concurrent_TimeUnit_Handler")]
public virtual bool TryTransfer(Java.Lang.Object? e, long timeout, Java.Util.Concurrent.TimeUnit? unit);
[<Android.Runtime.Register("tryTransfer", "(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z", "GetTryTransfer_Ljava_lang_Object_JLjava_util_concurrent_TimeUnit_Handler")>]
abstract member TryTransfer : Java.Lang.Object * int64 * Java.Util.Concurrent.TimeUnit -> bool
override this.TryTransfer : Java.Lang.Object * int64 * Java.Util.Concurrent.TimeUnit -> bool

參數

e
Object

要轉移的元素

timeout
Int64

等多久才會放棄,單位單位

unit
TimeUnit

一個 TimeUnit 決定如何解讀逾時參數

傳回

若成功則為 true;若在指定等待時間內完成,則為 false,此時該元素不會被留在隊列中

實作

屬性

備註

若能在逾時期內將元件轉移給消費者,則會進行。

更精確地說,若已有消費者在等待接收(內 #take 或定 #poll(long,TimeUnit) poll時)時,立即傳輸指定元素,否則會在該佇列尾部插入指定元素,等待該元素被消費者接收,若等待時間過後返回 false ,則返回。

Java 參考 java.util.concurrent.LinkedTransferQueue.tryTransfer。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於