gpt4 book ai didi

java - RequestMapping不是多线程的吗?

转载 作者:行者123 更新时间:2023-11-30 07:44:05 33 4
gpt4 key购买 nike

我的 Controller 中有一个 RequestMapping 监听网络请求,每当有人访问我的网页时,它都会延迟响应 5000 毫秒。

一切正常,但是当我同时使用 Chrome 中的新选项卡再次访问时,第二个请求最终延迟了 10000 毫秒。这让我很困惑,Spring MVC 不是多线程的吗?谁能告诉我这里发生了什么?

@RequestMapping("/view")
@ResponseBody

public String View() throws InterruptedException {
Thread.sleep(5000);
return "done";
}

编辑
我的 Spring Boot 版本是 1.2.7.RELEASE。
依赖项:spring-boot-starter-web

最佳答案

您在 session 中打开了新选项卡,这可能会导致同步问题。当您查看 Spring 文档时,您会发现:RequestMappingHandlerAdapter.setSynchronizeOnSession(boolean) 同步 session 互斥体上的每个 Controller 。这对于您的应用程序来说可能有点过分了。但它至少使 Controller 在 session 上线程安全,而不会阻塞其他用户。

希望,这会有所帮助。

关于java - RequestMapping不是多线程的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34170023/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com