【发布时间】:2010-03-30 13:51:33
【问题描述】:
我想知道如何为我的 Android 应用程序启动和编写线程管理器。 我的应用将使用网络 I/O 填充列表,我必须为此管理线程。
我以前从未这样做过,我不知道从哪里开始。我听说过线程池和其他东西,但我很困惑。有人可以帮我解决吗?
谢谢
【问题讨论】:
标签: java android multithreading
我想知道如何为我的 Android 应用程序启动和编写线程管理器。 我的应用将使用网络 I/O 填充列表,我必须为此管理线程。
我以前从未这样做过,我不知道从哪里开始。我听说过线程池和其他东西,但我很困惑。有人可以帮我解决吗?
谢谢
【问题讨论】:
标签: java android multithreading
AsyncTask 已经有一个线程池 -- 使用它。
【讨论】:
图书馆中有一些管理人员(我相信其他人会推荐),但像我一样,从长远来看,您可能会发现构建一个满足您确切需求的管理人员会更好。
它可以很简单,可以通用 Java 而不仅仅是 Android。它可能只是一个 Runnables 的 ArrayList。一种方法是在 ArrayList 的后面添加一个 runnable。第一次调用此方法时,会初始化并运行一个新线程。这个线程只是重复地从 ArrayList 的前面移除一个 Runnable,然后执行它。当 ArrayList 为空时,线程退出。
您需要注意保持对 ArrayList 线程的访问安全,但它确实可以这么简单。
如果您需要添加优先级或取消队列中或正在进行中的任务,事情会变得更加复杂。
【讨论】: