我们正在使用Jersey编写一些REST服务。我们的服务使一些底层的服务调用发生缓慢,这导致每个请求的每个线程持续3-4秒。在调查过程中,我遇到了Asynchronous Pages in .Net,它为线程池中的每个请求分配一个线程,并在I/O操作开始时将线程返回给线程池,并在I/O操作完成时获取新线程以完成其余的处理。用于REST服务的Java中等效的异步页面
在泽西岛有没有类似的东西存在,我们可以提供更多的并发连接,而不是为每个连接保留一个线程,直到它完成。我不想发布一个请求,返回一个GUID,然后继续轮询来自客户端的请求的状态,因为我不控制客户端代码。
感谢, GG
你好,这是真的怎么办呢http://stackoverflow.com/a/3143189/169277 – ant 2013-03-25 20:02:48
蚂蚁简单,但很好的例子,这个例子说明了如何运行多个线程/任务来为同一个请求做多件事情,但是它拥有1个在服务器上运行的线程/连接。我们进行一个底层的服务调用,需要4-5秒,并且父线程在该时间段内被阻塞,这减少了可以与服务器进行的并发连接的数量。我们想要做的是在我们进行底层服务调用的同时,释放可以用于服务另一个请求的父线程,并且当我们得到响应时,恢复线程以处理请求的其余部分。 – 2013-03-26 00:58:26