gpt4 book ai didi

java - BlockingQueue - 仅获取特定对象。

转载 作者:行者123 更新时间:2023-11-29 06:42:36 32 4
gpt4 key购买 nike

我有以下阻塞队列;

  final BlockingQueue<Message> blockingQueue = new LinkedBlockingQueue<Message>();

在哪里

public class Message {
private String author;
private String text;
.......
//setters and getters
.....
}

我有一个将消息放入队列的生产者。

现在我的目标是创建能够从队列中获取特定作者特定消息的消费者?是否可以?

如果不是,还有什么可以替代 BlockingQueue?

最佳答案

您可以使用 ConcurrentMap<String,BlockingQueue<Message>>其中字符串是 author

ConcurrentMap<String,BlockingQueue<Message>> map = ...;
public Message consume(String str){
return map.get(str).take();
}
public void produce(Message message){
map.get(message.getAuthor()).put(message);
}

这将需要每个作者有一个唯一的 BlockingQueue。

关于java - BlockingQueue - 仅获取特定对象。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9774937/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com