Java 如何在servlet操作中同步请求
我有一个servlet操作方法。如果一个请求出现并尝试执行某项操作。如果有第二个请求,我想阻止它,直到第一个请求完成。我如何才能做到这一点。您可以使用标准的JavaJava 如何在servlet操作中同步请求,java,multithreading,struts,Java,Multithreading,Struts,我有一个servlet操作方法。如果一个请求出现并尝试执行某项操作。如果有第二个请求,我想阻止它,直到第一个请求完成。我如何才能做到这一点。您可以使用标准的Javasynchronized块来实现这一点。大概是这样的: synchronized(this) { // do some stuff } 但是,我强烈建议不要在servlet中执行类似操作,因为这可能会导致严重的性能影响。servlet应该是无状态的,因此并发请求不应该相互影响。您可以使用标准的Javasynchronized块来
synchronized
块来实现这一点。大概是这样的:
synchronized(this) {
// do some stuff
}
但是,我强烈建议不要在servlet中执行类似操作,因为这可能会导致严重的性能影响。servlet应该是无状态的,因此并发请求不应该相互影响。您可以使用标准的Java
synchronized
块来实现这一点。大概是这样的:
synchronized(this) {
// do some stuff
}
但是,我强烈建议不要在servlet中执行类似操作,因为这可能会导致严重的性能影响。servlet应该是无状态的,因此并发请求不应该相互影响。您有两个选择:
SingleThreadModel
接口。这确保servlet一次只处理一个请求同步块
。在这里,您将只同步可能导致数据模糊的“代码块”。这样做的目的是减少要同步的代码量,这样就不会导致任何性能问题SingleThreadModel
接口。这确保servlet一次只处理一个请求同步块
。在这里,您将只同步可能导致数据模糊的“代码块”。这样做的目的是减少要同步的代码量,这样就不会导致任何性能问题