【发布时间】:2011-10-13 09:49:21
【问题描述】:
在我的应用程序中,我有一个多文件上传 AJAX 客户端。我注意到(使用存根文件处理类)Spring 通常一次打开 6 个线程,其余的文件上传请求被阻塞,直到这 6 个线程中的任何一个完成其工作。然后为它分配一个新请求,就像在线程池中一样。
我没有做任何具体的事情来达到这种行为。这是 Spring 默认在幕后做的事情吗?
在上传时,我在浏览应用程序的其他部分时没有遇到任何问题,几乎没有显着的性能开销。
但是,我注意到我对服务器的一个“幕后”调用(我每 20 秒轮询一次新通知)也被阻止了。在服务器端,我的应用程序调用基于 Redis 的键值存储,即使没有新通知,它也应该始终返回。只有在上传完成后,对它的请求才会开始正常处理。这种阻塞有什么解释吗?
编辑:我认为它必须处理每个会话最多的并发请求
【问题讨论】:
标签: multithreading spring servlets file-upload