Java HTTP筛选器中的同步块

Java HTTP筛选器中的同步块,java,sync,Java,Sync,我对同步块有疑问 例如,我在HTTPSESSIONFilter中有如下代码 synchronized(request.getsession()){ some operations(); } 例如,现在我使用浏览器(比如chrome)登录,它将向服务器发送大约100个呼叫,并按预期工作 我的疑问是,如果chorme调用正在执行同步块,那么firefox调用也会被阻止吗?换句话说,sessiona正在对其执行某些操作,sessionb是否会因为sessiona而被阻止?否。Firefox和ch

我对同步块有疑问

例如,我在HTTPSESSIONFilter中有如下代码

synchronized(request.getsession()){
  some operations();
}
例如,现在我使用浏览器(比如chrome)登录,它将向服务器发送大约100个呼叫,并按预期工作


我的疑问是,如果chorme调用正在执行同步块,那么firefox调用也会被阻止吗?换句话说,sessiona正在对其执行某些操作,sessionb是否会因为sessiona而被阻止?

否。Firefox和chrome将有不同的HTTP会话。因此,
request.getSession()
为chrome和firefox返回不同的对象。

我的疑问不在于它们是返回相同的会话还是不同的会话。例如,chrome上的调用被同步块阻止,如果来自firefox的新调用即将到来,它将被阻止还是继续执行该块?它将继续执行,因为
synchronized
获取对象的监视器。您有两个会话->两个对象。Firefox调用将获取第二个对象的监视器。