2012-01-16 52 views
1

我正在尝试使用谷歌guava lib中的AbstractScheduledService。在the docs for this class我看到以下内容:AbstractScheduledService:关闭基础执行程序

当此服务停止时,执行程序不会关闭。

为什么我们希望在执行程序线程停止服务后保持活动状态?这对我来说似乎是一个非常奇怪的架构决定。我错过了什么?

+0

时,不要停止执行程序。 – Viruzzo 2012-01-16 10:41:43

回答

5

你可以使用执行器进行多种服务(因为它只提供执行代码的线程,而没有任何领域知识)。这就是为什么在`executor()`doc中停止@skaffman的ScheduledService

+0

有道理,谢谢。 – 2012-01-16 10:54:26

+0

是的,这是一个非常好的论点。请记住,ExecutorService需要Callable提交新任务并返回Future。这样一个执行器可能用于许多不同的任务,因为它将逻辑(Callable)与调度分开。 – altanis 2012-01-16 10:56:43