代码之家  ›  专栏  ›  技术社区  ›  izb

这个排队系统是否有一个模式,以及示例Java代码?

  •  1
  • izb  · 技术社区  · 16 年前

    我有一个服务,可以对请求进行排队,并一次处理一个请求。我有许多客户端线程来发出请求。关键是调用线程必须阻塞,直到它们自己的特定请求得到服务。

    service.processMessage(myMessage); /* block whilst it enqueues, waits, */
                                       /* processes and returns */
    

    我知道你在想什么-为什么还要麻烦有线程呢?我们就说有一些设计约束超出了我的控制范围。

    而且,它应该在JavaME上运行,这意味着 infuriating subset of real Java ,并且没有时髦的外部库。

    1 回复  |  直到 16 年前
        1
  •  3
  •   Volker Stolz    16 年前

    如果您对处理请求的总顺序没有任何要求(即,您不介意任意混合来自不同线程的请求,而不考虑它们“到达”的顺序),您可以简单地 processMessage() synchronized 我想是吧。