我想知道如何为我的Android应用程序启动和编写线程管理器。 我的应用程序将填充一个带有网络I / O的列表,我必须为此管理线程。
我之前从未这样做过,我不知道从哪里开始。我听说过线程池和其他东西,但我很困惑。有人可以帮我解决这个问题吗?
由于
答案 0 :(得分:4)
AsyncTask
已经有一个线程池 - 只需使用它。
答案 1 :(得分:0)
图书馆里有一些管理人员(我相信其他人会推荐),但与我一样,从长远来看,你可能会发现建立一个满足你的确切需求的更好。
它可以非常简单,并且可以是Java的通用而不仅仅是Android。它可能只是Runnables的ArrayList。一种方法将一个runnable添加到ArrayList的后面。第一次调用此方法时,将初始化并运行新的Thread。这个Thread只是从ArrayList的前面重复删除一个Runnable,然后执行它。当ArrayList为空时,线程退出。
您需要注意保持对ArrayList线程的访问安全,但实际上可以这么简单。
如果您需要添加优先级或取消队列中或正在进行的任务,事情会变得复杂一些。