【发布时间】:2016-01-31 22:59:30
【问题描述】:
有一个由 servlet 管理的 REST 类型的 Web 服务。
它从数据库中检索大约 1000 种产品及其规格。 这个数据库查询很快。 然后,Web 服务会遍历这 1000 个条目,并针对每个产品规范将其编码为 JSON 字符串。每个 JSON 编码大约需要 10 毫秒。因此,通过 1000 个产品需要 10 毫秒 x 1000 = 10 秒。所以web服务响应很慢。超过 10 秒。
我想知道是否可以使此处理同时进行,因为将每个产品规格格式化为 JSON 字符串是完全独立于一个产品到下一个产品的。所以理论上,如果我创建一个由 4 个线程组成的池,我可以同时为每个线程提供 250 个产品规格并重新格式化为 JSON,并将处理时间减少近 4 个。
这在 servlet 上下文中是如何工作的?我可以从 Servlet 或 Servlet 使用的 POJO 生成线程池吗?由于 Jetty 等 Servlet 容器已经是多线程的,这会不会造成冲突?
谢谢
【问题讨论】:
标签: java json multithreading servlets