我需要一个执行程序服务来调用第三方服务,以节省rtt和延迟,并计划同时触发所有第三方请求。
我想知道是否应为每个请求创建ExecutorService吗?或存储在本地线程?或每个应用一个?
如果我从不明确地呼叫shutdown
会发生什么?
谢谢。
最佳答案
您很可能希望每个应用程序只有一个ExecutorService
。它实际上是变相的线程池,因此您可能不需要每个请求或每个线程一个线程池。
不必调用shutdown()
,但是如果它在您打算重新部署的Web应用程序中运行,则将导致内存泄漏。
关于java - ExecutorService的存储位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13277100/