【问题标题】:How do I create a Thread Manager for an Android App?如何为 Android 应用创建线程管理器?
【发布时间】:2010-03-30 13:51:33
【问题描述】:

我想知道如何为我的 Android 应用程序启动和编写线程管理器。 我的应用将使用网络 I/O 填充列表,我必须为此管理线程。

我以前从未这样做过,我不知道从哪里开始。我听说过线程池和其他东西,但我很困惑。有人可以帮我解决吗?

谢谢

【问题讨论】:

    标签: java android multithreading


    【解决方案1】:

    AsyncTask 已经有一个线程池 -- 使用它。

    【讨论】:

    • 线程是否可停止(我的意思是可控?)例如。如果发生用户交互,我是否能够停止当前线程?
    • 请记住,在 Java 中取消线程通常是一种挫败感。这不是 Android 特有的,而是 Java 特有的。尽可能设计您的后台工作以避免取消任务 - 让它们运行完成。
    【解决方案2】:

    图书馆中有一些管理人员(我相信其他人会推荐),但像我一样,从长远来看,您可能会发现构建一个满足您确切需求的管理人员会更好。

    它可以很简单,可以通用 Java 而不仅仅是 Android。它可能只是一个 Runnables 的 ArrayList。一种方法是在 ArrayList 的后面添加一个 runnable。第一次调用此方法时,会初始化并运行一个新线程。这个线程只是重复地从 ArrayList 的前面移除一个 Runnable,然后执行它。当 ArrayList 为空时,线程退出。

    您需要注意保持对 ArrayList 线程的访问安全,但它确实可以这么简单。

    如果您需要添加优先级或取消队列中或正在进行中的任务,事情会变得更加复杂。

    【讨论】:

    • 我现在知道的是它必须是一个单例模式并且它需要是可锁定的(意味着只有操作线程可以将项目添加到我的列表视图中)......或者类似的东西那:s
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-10
    • 2021-07-25
    相关资源
    最近更新 更多