在应用程序启动时,只有两个短期任务需要在后台运行.为每个任务或一个执行程序使用一个线程是否有意义,例如,一个线程执行程序来提交这两个任务.
创建两个快速死亡的线程是否有意义,而不是让单个线程的执行程序在应用程序的整个生命周期中都等待任务,而没有一个线程呢?
解决方法:
使用线程池的一大好处是,避免了重复执行某些任务的情况,如果该任务出了问题而导致线程挂起,则您有每次线程丢失的风险.任务发生,导致应用程序在线程外运行.如果您的线程仅在启动时运行一次,那么这种风险似乎将不适用于您的情况.
您仍然可以使用Executor,但是一旦两个任务都运行,就将其关闭.在原始线程上使用Futures或CompletionService可能更可取.