我正在研究java Web应用程序。我通过Android设备使用Web服务调用servlet。当我试图一次使用10到15个设备的web服务调用servlet时,只有2-3个设备得到了响应,设备上的所有应用程序都崩溃了。因为我的servlet默认是多线程的,所以它无法处理所有请求。
为此,我尝试实现SingleThreadModel,这将成功使用10-15个设备,但对于少量请求,它可以。但对于1000到10000个设备,实现SingleThreadModel是不切实际的,因为它一次只处理单个请求,同时所有剩余的请求必须在队列中等待。
所以任何人都建议我除了实现SingleThreadModel之外的任何其他解决方案,这会降低我的应用程序的性能。
答案 0 :(得分:0)
IMHO,Container为每个servlet只创建一个对象,然后使用该对象通过为每个servlet生成线程来为多个请求提供服务。
synchronization
实现进行数据库事务,会话对象操作等的Servlet,以保护数据免受损坏和遗漏信息的影响。 如果我错了,请纠正我。