語言

ICompletionService 介面

定義

一項服務,將新非同步任務的產生與完成任務結果的消費分離。

[Android.Runtime.Register("java/util/concurrent/CompletionService", "", "Java.Util.Concurrent.ICompletionServiceInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "V" })]
public interface ICompletionService : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/util/concurrent/CompletionService", "", "Java.Util.Concurrent.ICompletionServiceInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "V" })>]
type ICompletionService = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
衍生
屬性
實作

備註

一項服務,將新非同步任務的產生與完成任務結果的消費分離。 製作人負責 submit 執行任務。 消費者完成 take 任務並依照完成順序處理結果。 例如,A CompletionService 可以用來管理非同步 I/O,即執行讀取的任務在程式或系統的一個部分提交,讀取完成後在程式的另一個部分執行,可能順序與請求不同。

通常,a CompletionService 依賴一個獨立 Executor 的執行任務,此時僅 CompletionService 管理內部完成佇列。 該 ExecutorCompletionService 類別提供了此方法的實作。

記憶體一致性效應:在將任務提交給 CompletionService<i>< 之前/i> 任務所採取的行動,該任務在成功返回take()後,執行緒中發生於 之前的行動。

已在1.5中新增。

的 java.util.concurrent.CompletionServiceJava 檔。

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

屬性

名稱 Description
Handle

取得底層 Android 物件的 JNI 值。

(繼承來源 IJavaObject)
JniIdentityHashCode

回傳包裹實例的 java.lang.System.identityHashCode() 值。

(繼承來源 IJavaPeerable)
JniManagedPeerState

管理貴族的狀況。

(繼承來源 IJavaPeerable)
JniObjectReferenceControlBlock

一項服務,將新非同步任務的產生與完成任務結果的消費分離。

(繼承來源 IJavaPeerable)
JniPeerMembers

成員存取與召喚支援。

(繼承來源 IJavaPeerable)
PeerReference

回傳JniObjectReference包裹後的 Java 物件實例。

(繼承來源 IJavaPeerable)

方法

名稱 Description
Disposed()

當實例被處理後才被召喚。

(繼承來源 IJavaPeerable)
DisposeUnlessReferenced()

如果沒有未解決的參考資料,則 Dispose()呼叫;否則,則不做任何事。

(繼承來源 IJavaPeerable)
Finalized()

當實例完成後才會被通知。

(繼承來源 IJavaPeerable)
Poll()

取回並移除代表下一個完成任務的未來,或 null 若不存在任務。

Poll(Int64, TimeUnit)

擷取並移除代表下一個完成任務的未來,若尚未完成,則等待至指定等待時間。

SetJniIdentityHashCode(Int32)

將回傳的值設為 JniIdentityHashCode。

(繼承來源 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

一項服務,將新非同步任務的產生與完成任務結果的消費分離。

(繼承來源 IJavaPeerable)
SetPeerReference(JniObjectReference)

將回傳的值設為 PeerReference。

(繼承來源 IJavaPeerable)
Submit(ICallable)

提交一個值回傳任務以供執行,並回傳一個代表該任務待處理結果的未來。

Submit(IRunnable, Object)

提交一個可執行的任務,並回傳代表該任務的 Future。

Take()

取回並移除代表下一個完成任務的未來,若尚未完成任務,則等待。

UnregisterFromRuntime()

取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。

(繼承來源 IJavaPeerable)

擴充方法

名稱 Description
GetJniTypeName(IJavaPeerable)

取得實例 self類型的 JNI 名稱。

JavaAs<TResult>(IJavaPeerable)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

JavaCast<TResult>(IJavaObject)

執行 Android 執行時檢查型別轉換。

JavaCast<TResult>(IJavaObject)

一項服務,將新非同步任務的產生與完成任務結果的消費分離。

TryJavaCast<TResult>(IJavaPeerable, TResult)

試著強制self輸入 TResult,檢查 強制在 Java 端是否有效。

適用於