AsyncTask.ExecuteOnExecutor(IExecutor, Object[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
以指定參數執行任務。
[Android.Runtime.Register("executeOnExecutor", "(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;", "")]
public Android.OS.AsyncTask? ExecuteOnExecutor(Java.Util.Concurrent.IExecutor? exec, params Java.Lang.Object[]? params);
[<Android.Runtime.Register("executeOnExecutor", "(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;", "")>]
member this.ExecuteOnExecutor : Java.Util.Concurrent.IExecutor * Java.Lang.Object[] -> Android.OS.AsyncTask
參數
- exec
- IExecutor
執行人。
#THREAD_POOL_EXECUTOR 作為一個方便的全流程執行緒池,用於鬆散耦合的任務。
- params
- Object[]
任務的參數。
傳回
這個 AsyncTask 的實例。
- 屬性
備註
以指定參數執行任務。 任務會回傳自己(此事),以便呼叫者能保留對它的參考。
此方法通常 #THREAD_POOL_EXECUTOR 用於允許多個任務在由 AsyncTask 管理的執行緒池中平行執行,但你也可以使用自己的 Executor 執行緒來自訂行為。
<em 警告:>/em< 允許多個任務從執行緒池><平行執行通常是不><符合需求的,因為操作順序沒有定義。> 例如,若這些任務用於修改任何共同的狀態(例如因按鈕點擊而寫入檔案),修改的順序無法保證。 若不謹慎處理,極少數情況下新版本資料可能會被舊版本覆蓋,導致資料遺失與穩定性問題。 此類變更最好串聯執行;為了確保這些工作無論平台版本都被序列化,你可以使用這個函式。#SERIAL_EXECUTOR
此方法必須在 UI 執行緒中被呼叫。
Java 文件 android.os.AsyncTask.executeOnExecutor(java.util.concurrent.Executor, Params...)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。