【问题标题】:How to create serial queue in Android?如何在 Android 中创建串行队列?
【发布时间】:2016-10-01 23:46:23
【问题描述】:

在 iOS 中,我可以像这样创建 GCD 串行队列:

let serialQueue = DispatchQueue(label: "serialQueue")

块按 FIFO 顺序执行,一次一个块。如何在 Android 中做到这一点?

这是在队列中执行代码块的方式:

serialQueue.async {

正如我seeAsyncTask是串行的:“从HONEYCOMB开始,任务在单线程上执行,避免并行执行导致的常见应用错误。”

我猜t是FIFO,执行。

找到thisJAVA 8并发教程。

【问题讨论】:

    标签: java android multithreading


    【解决方案1】:

    使用Executor.newSingleThreadExecutor()。您可以传递一个RunnableCallable<V> 来表示要完成的工作。

    【讨论】:

    • AsyncTask 的优缺点?
    • @János: AsyncTask 专门用于您希望在后台线程 (doInBackground()) 上工作,然后在主应用程序线程 (onPostExecute()) 上完成工作的情况.如果您不需要这种行为,AsyncTask 没有任何优势。
    【解决方案2】:

    根据您的确切要求,有多种选择。如果我正确地回答了您的问题,那么您需要一个执行人。并扩展它以创建如下所示的 SerialExecutor,

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

    这些块是什么?功能 ?您需要为执行程序创建可运行的对象来执行您的每个块

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-09
      • 1970-01-01
      • 1970-01-01
      • 2011-09-20
      • 2021-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多