gpt4 book ai didi

java - 哪个Java阻塞队列对于单生产者单消费者场景最有效

转载 作者:IT老高 更新时间:2023-10-28 20:53:31 26 4
gpt4 key购买 nike

我正在开发一个标准 Java 系统,对我的制作人有关键的时间要求(1/100 毫秒很重要)。

我有一个生产者将东西放在阻塞队列中,然后一个消费者捡起这些东西并将其转储到文件中。当数据不可用时,消费者会阻塞。

显然,阻塞队列是合适的接口(interface),但如果我想尽量减少生产者的成本,我应该选择哪个实际实现?当我将东西放入队列时,我希望尽可能少地玩诸如锁定和分配之类的事情,而且我不介意消费者是否必须等待更长的时间或更加努力地工作。

是否有一个可以更快的实现,因为我只有一个消费者和一个生产者?

最佳答案

嗯,确实没有太多选择。让我通过listed subclasses :

DelayQueue , LinkedBlockingDeque , PriorityBlockingQueue , 和 SynchronousQueue都是为需要额外功能的特殊情况而设计的;在这种情况下它们没有意义。

只剩下 ArrayBlockingQueueLinkedBlockingQueue .如果您知道如何判断您需要 ArrayList 还是 LinkedList,您可能可以自己回答这个问题。

请注意,在 LinkedBlockingQueue 中,“链接节点在每次插入时动态创建”;这可能会将您推向 ArrayBlockingQueue

关于java - 哪个Java阻塞队列对于单生产者单消费者场景最有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/976940/

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