使用异步Servlet处理挂起线程
AJAX应用程序的典型容量规划数可能会是标准Web应用程序的3到4倍。 有人可能会问:这对WebLogic Server有何影响?每个发送给WebLogic的HTTP请求都要使用一个执行线程。根据AJAX编程的性质以及许多短期的请求会以轮询的形式不断发送的情况,该行为模式可能造成大量客户端请求不断冲击服务器的局面。多年来,WebLogic都将这一问题考虑在内,并构建了一个相当棒的特性,即FutureResponseServlet。该范型构建于异步servlet理念的基础之上..............
本人菜鸟,不知道这种服务器异步的处理概念是否解决了一些实际问题?
在网上搜到的几篇参考文献地址:
官方原文:http://dev2dev.bea.com.cn/techdoc/2008/3/asynchron
http://www.theserverside.com/news/thread.tss?thread_id=40560
http://www.miiceic.org.cn/01/200605291750074.asp
http://www.netinter.cn/info/html/chengxusheji/Javajishu/20080225/34675.html
我们javaeye的旧一篇http://pipboy.group.iteye.com/group/topic/3367
请路过评论!谢谢
分享到:
相关推荐
而Servlet3异步处理则改变了这种模式,请求处理可以被挂起,释放线程去处理其他请求,当后台任务完成后再回调,这样就避免了线程的长时间占用。 要开始使用Servlet3的异步请求,首先你需要一个支持Servlet 3.0及...
- 异步处理机制允许Servlet在处理客户端请求时挂起,直到某个条件满足后再继续执行。 - 通过实现`AsyncContext`接口,Servlet可以在等待外部资源时释放线程资源,提高服务器的并发处理能力。 #### 三、结论 综上...
Java Web的异步处理机制就是为了缓解这个问题,它允许服务器不立即返回响应,而是先将请求挂起,去处理其他请求,待后台任务完成后再回调通知客户端。 1. **Servlet 3.0 异步处理**: Servlet 3.0引入了异步处理...
应该在自己的Thread类中置入一个标志,指出线程应该活动还是挂起。 2. sleep()和wait()方法的区别,sleep是Thread类的方法,导致线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动...
1. **异步处理**:Servlet 3.0引入了异步处理能力,允许Servlet在请求处理过程中挂起并稍后恢复,而不是阻塞线程,这极大地提高了应用的并发性能。通过`AsyncContext`接口,开发者可以实现非阻塞I/O,以更高效地处理...
通过`AsyncContext`接口,开发者可以将请求挂起并在后续时间点完成处理,释放了HTTP工作线程,减少了资源消耗。 2. **WebSocket支持**:Servlet3.1规范集成了WebSocket协议,为Web应用程序提供全双工通信能力。通过...
2. **异步处理**:Servlet 3.0引入了异步处理功能,通过Servlet API的AsyncContext接口,开发者可以将请求挂起并在后台线程中执行耗时操作,从而提高服务器的并发性能。例如,可以使用`startAsync()`方法启动异步...
该版本引入了异步Servlet,允许Servlet容器在调用`startAsync()`方法后,将请求挂起并在后台处理。这有助于提高高并发场景下的性能,因为服务器可以释放线程去处理其他请求,而无需等待当前请求完成。 3. **动态...
Jetty的Continuation API是专为Servlet环境设计的,它允许Servlet处理请求时挂起并恢复。例如,在接收一个大文件上传时,Servlet可以挂起请求,处理其他任务,然后在文件完全上传后恢复处理。这样,服务器就可以同时...
通过使用Continuation,服务器可以将任务挂起,先处理其他请求,然后再回来继续执行之前挂起的任务,而无需保持大量的线程等待。 Continuation的具体实现通常依赖于特定的框架,比如Jetty和Tomcat。它们提供了对...
例如,网络请求,同步可能导致应用挂起,异步则可让应用继续其他操作。 12. 线程设计问题:涉及线程同步与协作,可以使用synchronized关键字或wait/notify机制来控制对共享变量j的访问,避免竞态条件。 13. EJB的...
3. **超时设置**:`connectionTimeout`和`socketTimeout`设置请求和响应超时时间,防止请求挂起。 四、缓存策略 1. **session复制与共享**:分布式环境下,考虑session的持久化和集群间共享,例如使用memcached或...
与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。...
BIO(Blocking I/O)是阻塞式IO,数据读写时程序会挂起,直到操作完成。NIO(New I/O)是非阻塞式IO,通过使用缓冲区和选择器来提供性能。AIO(Asynchronous I/O)是异步IO,允许IO操作进行的同时,程序继续执行...
4. **挂起**(阻塞):等待某种条件发生才能继续运行。 5. **结束**:线程执行完毕或因异常退出。 #### Hibernate工作原理及优势 - **工作原理**: 1. **读取配置文件**:如`hibernate.cfg.xml`。 2. **创建...
如果该锁已经被其他线程持有,正在执行的线程要么等待,要么挂起。 49. **死锁**:多个线程在执行过程中因争夺资源而造成的一种僵局。 50. **防止死锁的方法**:设置资源申请的顺序,限制线程对资源的最大占用,...