【问题标题】:An alternative for Thread.Sleep() when using asynchronous servlets?使用异步 servlet 时 Thread.Sleep() 的替代方案?
【发布时间】:2014-06-03 06:59:05
【问题描述】:

我要做的是等待来自特定网页中用户的所有请求进入(他们在大约同时进入),然后在 servlet 中处理它们,检查哪些请求为某个参数发送了正确的值,并将最终结果输出给所有用户。我正在为此使用 asyncContexts,并且我目前正在根据每个用户的请求使用 Thread.Sleep(1000),以便仅在完全收集数据时才输出最终结果。但是,我读到 Thread.Sleep(1000) 在 Web 应用程序中使用效率非常低,并且想知道您是否可以提出其他方法来确保在输出结果之前收集所有数据。如果有需要我可以提供代码,但是有点乱。

【问题讨论】:

    标签: java multithreading servlets asynchronous


    【解决方案1】:

    您似乎知道 Servlet 上的请求数量。因此,在这种情况下,您可以使用 CountDownLatch、Semaphore 或 Java 5 并发 API 中提供的任何阻塞集合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多