我有一个WebApplication,我们在这里预订公交车票。 每秒钟会有100个用户点击我的后端服务。 “我的服务”会搜索各种供应商提供的针对上述路线的可用巴士。 由于列表提取需要每个用户花费时间,因此我想在执行器服务的帮助下并行执行请求。
我的问题是:以下哪种方法需要遵循 1.如果我创建新的Executor服务,则Web上每个用户的请求都会提供一个,并且ES处理完请求后,我将关闭ES。这意味着100个用户请求,每秒100个线程池。(我认为这会导致线程泄漏) 2.使用单例类创建一个由16个线程组成的固定线程池的ES,并使用相同的线程池处理来自Web的所有请求?在这种情况下,Threadpool执行器将永远不会关闭。 (这种方法会减慢所有用户的请求处理速度,这会导致更多延迟)。
另外,在一个应用程序中可以产生多少个线程,是否有任何统计信息。