2016-10-01 8 views
0

私はこのようなGCDシリアルキューを作成することができますAndroidでシリアルキューを作成する方法は? iOS版で

let serialQueue = DispatchQueue(label: "serialQueue") 

ブロックは一度にFIFO順、1つのブロックに実行されます。 Androidでどうすればいいですか?

これはコードの塊がキュー上で行うことができる方法である。

serialQueue.async { 

I seeAsyncTaskがシリアルであるように、「ハニカム以降では、タスクはによって引き起こされる一般的なアプリケーションエラーを回避するために、単一のスレッドで実行されていますパラレル実行 "

私はtがFIFOであると思います。

Found this JAVA 8同時実行チュートリアル。

答えて

1

Executor.newSingleThreadExecutor()を使用してください。実行する作業を表すRunnableまたはCallable<V>を渡すことができます。

+0

'AsyncTask'の長所は? –

+0

@János: 'AsyncTask'は、バックグラウンドスレッド(' doInBackground() ')で作業を行い、メインアプリケーションスレッド(' onPostExecute() ')の作業をフォローアップするシナリオ専用です。そのような振舞いが必要ない場合、 'AsyncTask'には利点はありません。 – CommonsWare

0

正確な要件に基づいていくつかのオプションがあります。あなたの質問が正しく得られたら、エグゼクティブが必要なものです。そして、以下のようなSerialExecutorを作成する

https://developer.android.com/reference/java/util/concurrent/Executor.html

それを拡張し、これらのブロックは何ですか?機能 ?実行者が各ブロックを実行するための実行可能オブジェクトを作成する必要があります

関連する問題