Android线程队列

pdi*_*ddy 6 multithreading android

我想在一个单独的线程上完成一个工作/任务队列,但一次只能处理一个工作.所以不要同时.

有没有内置的Android为此?

谢谢,

编辑:工作=从数据库获取信息.完成后,使用获取的信息更新UI.

gwv*_*eri 15

你检查过java.util.concurrent.Executors吗?你可以这样做:

final static ExecutorService tpe = Executors.newSingleThreadExecutor();
...
tpe.submit(new Runnable() {
    @Override
    public void run() {
        // your work
    }
}):
Run Code Online (Sandbox Code Playgroud)

它不是特定于Android的,它是jdk5的一部分.

来自doc:

创建一个Executor,它使用一个在无界队列中运行的工作线程.(但请注意,如果此单个线程由于在关闭之前执行期间的故障而终止,则在需要执行后续任务时将使用新的线程.)保证任务按顺序执行,并且不会有多个任务处于活动状态在任何给定的时间.与其他等效的newFixedThreadPool(1)不同,保证返回的执行程序不可重新配置以使用其他线程.