java - 是否有此排队系统的模式以及 Java 代码示例?

标签 java multithreading design-patterns java-me queue

我有一个想要编写的组件,它感觉像是一种常见的模式。我希望找到该模式的通用名称(如果有的话),以及如何实现它的示例。

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

例如如果有 10 个线程,都发出请求,那么第 10 个线程将在等待其请求到达队列前端并被处理时阻塞最长的时间。简而言之,调用就像这样简单:

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

我知道你在想什么——为什么还要麻烦线程呢?这么说吧,设计限制远远超出了我的控制范围。

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

最佳答案

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

关于java - 是否有此排队系统的模式以及 Java 代码示例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1536769/

相关文章:

java - 无法通过 ReSTLet StringRepresentation 类将 xml 字符串中的属性 "type"转换为 json 字符串

java - OpenCL 内核比普通 Java 循环慢

multithreading - 最适合低延迟网络应用程序的语言/库?

java - 如何有效地从该对象中包含的另一个对象访问对象字段/属性

c++ - 初始化单例的const成员变量

java - Hibernate复合模式设计

java:如何使用 .txt 中的数据创建多个数组

Python 多进程池与进程

c# - 在 C# wpf 应用程序中处理线程

java - 构建器模式代替方法重载