【发布时间】:2020-06-24 12:25:16
【问题描述】:
在构建执行 CRUD 操作的API RESTful web 服务时,synchronize 方法是否正确?或者我们应该避免同步方法,因为它会降低性能。
谁能解释一下。
【问题讨论】:
标签: java spring-boot web-services microservices
在构建执行 CRUD 操作的API RESTful web 服务时,synchronize 方法是否正确?或者我们应该避免同步方法,因为它会降低性能。
谁能解释一下。
【问题讨论】:
标签: java spring-boot web-services microservices
这不是“正确做法”或“最佳做法”。
这对我来说甚至没有意义。一般。
RESTful API 包含一个用于进行 http / https “调用”的 URL。 “同步”的概念与此无关。
现在可能有一些用例,在 RESTful API 的实现中使用某种形式的互斥是有意义的。但是,尚不清楚将 Java API 方法声明为 synchronized 是否给出了正确的语义。当然不是不知道你的 RESTful API 是如何映射到你的 Java 方法和域对象上的。
如果我们在 Spring @RestController 类中讨论映射的 Java 方法,将这些方法声明为 synchronized 将导致控制器类的当前实例互斥。 Spring 控制器对象是单例的,因此您最终将串行处理您的 RESTful 请求。我不明白你为什么要这样做。
解决此问题的正确方法是弄清楚您实际想要实现的目标,然后寻找实现目标的方法。在了解问题之前不要去寻找解决方案。并且不要寻找“最佳实践”的理由。在你的问题的背景下思考问题。
【讨论】: