有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的多线程Java多生产者和单队列多生产者?

我有三个生产者P1、P2、P3和三个消费者,它们使用单个共享队列。生产者P1将把X1、X2、X3放入/插入队列中,并且它应该仅由消费者C1而不是其他消费者(C2、C3)消费。基本上,使用者C1应该只使用生产者P1插入的值。同样的规则也适用于其他消费者。C2->;P2和C3->;P3。 如何用Java解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    最终的工作方式是有这样一个类

    class Envelope<S, T, M> {
        final S sender;
        final T topic;
        final M message;
        ...
    };
    

    所有发送的消息都将被包装在信封中(就像信封中的真实信件一样),并被投递到MailBox中。邮箱另一端的Dispatcher将查看信封的topic/receiver字段,并应用所需的策略在正确的上下文(线程)中传递给正确的收件人

    至于自己编码,我只是为了好玩。如果我需要一些快速的东西,我会使用Akka,它已经有了所有必需的原语并使用它们