java - 只有 1 个线程访问 RestController 方法
问题描述
我正在使用 Spring Rest API 创建应用程序。我面临一个奇怪的问题,一次只有 1 个线程能够访问 Controller 方法。下面是代码片段。
如果调用多个rest服务即getSample,此时只有1个线程在执行该方法,其余线程正在等待完成。这与同步方法的工作相同
提前致谢。
@RestController
Class Sample {
@RequestMapping(value = "/controller/sample", method = RequestMethod.POST)
@ResponseBody
public Object getSample(@RequestBody String input) {
System.out.println("Hello World !!")
}
}
解决方案
它是多线程的,使用这样的东西来测试它
@RestController
Class Sample {
@RequestMapping(value = "/controller/sample", method = RequestMethod.POST)
@ResponseBody
public Object getSample(@RequestBody String input) {
System.out.println("Hello World !!")
Thread.sleep(4000);
System.out.println("GoodBye World !!")
}
}
多次调用,你会看到一些'Hello World !!' 第一的。
推荐阅读
- javascript - Javascript addEventListener 在某些情况下不工作,但在其他情况下工作
- angular - 在 Angular 中输入只能包含 13 个数字
- amazon-web-services - SageMaker SkLearn - 模型保存到提供的存储桶,而不是完整的提供路径
- shell - 父源外部文件,子无权访问其中的函数
- javascript - 计划任务在没有 setTimeout 的情况下运行
- multithreading - 异步代码是否浪费处理能力
- django - 使用 update_or_create() 获取“重复键值违反唯一约束”(非默认字段是 unique_together)
- angular - 等待通过 websocket 的承诺
- java - 为什么在方法中将 { 5,7,5,8,1} 作为数组传递会在 Java 中引发错误?
- javascript - 通过 foo 循环一次在按钮上添加单个唯一类