gpt4 book ai didi

java - Android AsyncTask.THREAD_POOL_EXECUTOR 与自定义 ThreadPool 与 Runnables

转载 作者:太空宇宙 更新时间:2023-11-03 10:20:17 25 4
gpt4 key购买 nike

我有一些任务需要在 Android 上并发处理,我想使用某种线程池来完成这些任务。当使用 AsyncTask.THREAD_POOL_EXECUTOR 执行 AsyncTask 时,我无法在文档中找到“幕后”实际发生的情况。

我的问题是:通过将 AsyncTasks 与 AsyncTask.THREAD_POOL_EXECUTOR 结合使用而不是通过 Runnables 实现自定义 ThreadPool,我会失去什么? (让我们谈谈后蜂窝)。

我意识到这个问题很笼统,但我对并发编程还很陌生(除了 AsyncTask 本身)。我不是在寻找有关并发编程的教程!我只是想了解 Android 特定的 AsyncTask.THREAD_POOL_EXECUTOR 有何不同。我认为解释会对将来的其他人有所帮助,因为他们会权衡选择使用 AsyncTask 与 Thread/Runnable 的利弊。提前致谢!

最佳答案

AsyncTasks 为您提供了在执行工作任务之前和之后在 UI 线程上执行操作的可能性。所以,如果你不需要与 UI 通信,那么使用你自己的执行器——你总是可以使用处理程序来实现它。自 api 11 以来,AsyncTasks 正在串行执行,因为并行执行被认为难以正确实现。

如果您需要更大的灵 active ,那么执行器是一个不错的选择,它们将允许您自由指定要并行执行的任务数、放入队列的任务数等。

如果您对细节感兴趣,可以随时查看来源:

http://androidxref.com/4.4.3_r1.1/xref/development/samples/training/bitmapfun/BitmapFun/src/main/java/com/example/android/bitmapfun/util/AsyncTask.java

关于java - Android AsyncTask.THREAD_POOL_EXECUTOR 与自定义 ThreadPool 与 Runnables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24414045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com