这个排队系统和示例Java代码是否有模式?

时间:2009-10-08 09:55:45

标签: java multithreading design-patterns java-me queue

我有一个我希望编写的组件,这是一种感觉像普通模式的东西。我希望找到该模式的通用名称,如果有的话,以及如何实现它的示例。

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

E.g。如果有10个线程,都发出请求,那么第10个线程将在等待其请求进入队列前面并进行处理时阻塞最长时间。简而言之,pseodocode调用就像下面这样简单:

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

我知道你在想什么 - 为什么还要烦恼?我们只是说有一些设计限制在我无法控制之外。

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

1 个答案:

答案 0 :(得分:3)

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