Java 使用异步servlet时Thread.Sleep()的替代方法?

Java 使用异步servlet时Thread.Sleep()的替代方法?,java,multithreading,servlets,asynchronous,Java,Multithreading,Servlets,Asynchronous,我试图做的是等待来自特定网页中用户的所有请求进入(他们大约在同时进入),然后在servlet中处理它们,检查哪些请求发送某个参数的正确值,并将最终结果输出给所有用户。为此,我使用AsyncContext,目前我对每个用户的请求使用Thread.Sleep(1000),因此只有在完全收集数据时才输出最终结果。然而,我已经读过这个帖子。Sleep(1000)在网络应用程序中的使用效率非常低,我想知道你是否可以建议其他方法来确保在输出结果之前收集所有数据。如果需要的话,我可以提供代码,但是这有点混乱。

我试图做的是等待来自特定网页中用户的所有请求进入(他们大约在同时进入),然后在servlet中处理它们,检查哪些请求发送某个参数的正确值,并将最终结果输出给所有用户。为此,我使用AsyncContext,目前我对每个用户的请求使用Thread.Sleep(1000),因此只有在完全收集数据时才输出最终结果。然而,我已经读过这个帖子。Sleep(1000)在网络应用程序中的使用效率非常低,我想知道你是否可以建议其他方法来确保在输出结果之前收集所有数据。如果需要的话,我可以提供代码,但是这有点混乱。

似乎您知道Servlet上的请求数量。因此,在这种情况下,您可以使用倒计时闩锁、信号量或Java5并发API中提供的任何阻塞集合