Java 中循环队列的问题

2022 年 10 月 11 日
 echooo0

需求大概是这样

依照队列先进先出的原则,顺序获取,先出来的元素放进队尾,构成了一个循环。 然后最好是线程安全的(或者单独额外加锁也行)

不知道 java 里面有没有这样现成的数据结构设计

2103 次点击
所在节点    程序员
11 条回复
PendingOni
2022 年 10 月 12 日
ghost024
2022 年 10 月 12 日
arrayDeque 但是这个是非线程安全的
tramm
2022 年 10 月 12 日
Disruptor 中的 RingBuffer?
arvinsilm
2022 年 10 月 12 日
把 Queue 的 add()方法重写一下?
anakinsky
2022 年 10 月 12 日
ArrayBlockingQueue
YepTen
2022 年 10 月 12 日
整 2 个队列不就行了,一个未读的,一个读过的,读完后,两个队列互换下。
YepTen
2022 年 10 月 12 日
或者玩双指针,一个队列就行了
urnoob
2022 年 10 月 12 日
出队+入队 是原子操作的没有。但是实现也简单
Jooooooooo
2022 年 10 月 12 日
这不得反思一下自己的搜索能力

java concurrent queue 直接搜就有答案.
Kamiyu0087
2022 年 10 月 12 日
LinkedBlockingQueue
blessingsi
2022 年 10 月 12 日
一个数组,双指针,也就是楼上说的 ringbuffer 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/886199

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX