ICompletionService 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
一項服務,將新非同步任務的產生與完成任務結果的消費分離。
[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 |
回傳包裹實例的 |
| JniManagedPeerState |
管理貴族的狀況。 (繼承來源 IJavaPeerable) |
| JniObjectReferenceControlBlock |
一項服務,將新非同步任務的產生與完成任務結果的消費分離。 (繼承來源 IJavaPeerable) |
| JniPeerMembers |
成員存取與召喚支援。 (繼承來源 IJavaPeerable) |
| PeerReference |
回傳JniObjectReference包裹後的 Java 物件實例。 (繼承來源 IJavaPeerable) |
方法
| 名稱 | Description |
|---|---|
| Disposed() |
當實例被處理後才被召喚。 (繼承來源 IJavaPeerable) |
| DisposeUnlessReferenced() |
如果沒有未解決的參考資料,則 |
| Finalized() |
當實例完成後才會被通知。 (繼承來源 IJavaPeerable) |
| Poll() |
取回並移除代表下一個完成任務的未來,或 |
| Poll(Int64, TimeUnit) |
擷取並移除代表下一個完成任務的未來,若尚未完成,則等待至指定等待時間。 |
| SetJniIdentityHashCode(Int32) |
將回傳的值設為 |
| SetJniManagedPeerState(JniManagedPeerStates) |
一項服務,將新非同步任務的產生與完成任務結果的消費分離。 (繼承來源 IJavaPeerable) |
| SetPeerReference(JniObjectReference) |
將回傳的值設為 |
| Submit(ICallable) |
提交一個值回傳任務以供執行,並回傳一個代表該任務待處理結果的未來。 |
| Submit(IRunnable, Object) |
提交一個可執行的任務,並回傳代表該任務的 Future。 |
| Take() |
取回並移除代表下一個完成任務的未來,若尚未完成任務,則等待。 |
| UnregisterFromRuntime() |
取消註冊此實例,讓執行時不會在未來 Java.Interop.JniRuntime+JniValueManager.PeekValue 的呼叫中回傳該實例。 (繼承來源 IJavaPeerable) |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
一項服務,將新非同步任務的產生與完成任務結果的消費分離。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |