【问题标题】:Why is AsyncTask executed sequentially starting with with Android 3.0?为什么从 Android 3.0 开始顺序执行 AsyncTask?
【发布时间】:2015-10-25 21:42:06
【问题描述】:

来自 Asynctask javadoc:

首次引入时,AsyncTask 是在单个后台线程上串行执行的。从 DONUT 开始,这被更改为允许多个任务并行运行的线程池。从 HONEYCOMB 开始,任务在单线程上执行,以避免并行执行导致的常见应用程序错误。

有谁知道他们指的是哪种错误?

【问题讨论】:

  • 据我了解,主要是您的经典线程同步错误。直到 Android 3.0,我们才进入多核 CPU。即使在单核 CPU 上,您仍然可能出现线程同步错误,但是当两个线程可以真的并行执行。

标签: android multithreading android-asynctask


【解决方案1】:

Race conditions,其中草率的同步可能会导致令人讨厌的、难以重现的错误和崩溃。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多