ExecutorService提交与执行

时间:2016-10-05 13:52:43

标签: android executorservice

我是否理解submitexecute之间的差异,asyncsync来电?在第二种情况下,调用者将被停止直到可运行完成?

public static ExecutorService serialQueue = Executors.newFixedThreadPool(1);

我使用ExecutorService作为串行队列,一次只能运行一个任务。

1 个答案:

答案 0 :(得分:3)

submit()会返回Future,而execute()则不会返回任何内容。它看起来都是异步的,但是使用submit(),您可以在返回的future.get()上调用Future以阻止,直到提交的任务实际完成为止。此外,如果该任务具有您想要获得的结果值,则可以submit()使用Callable代替Runnablefuture.get()调用将为您提供结果