gpt4 book ai didi

java - java中任何集合或数据结构都是非阻塞的

转载 作者:行者123 更新时间:2023-12-01 16:51:04 25 4
gpt4 key购买 nike

在事件处理中,一个函数将值放入集合中,另一个函数从同一集合中删除。这些项目应该按照从源(套接字)接收的顺序放置在集合中,并以相同的方式读取,否则结果将会改变。

队列是大多数人推荐的集合,但同时,在添加项目时队列会被阻塞,因此其他功能必须等到添加完成,这使得效率低下,并且操作延迟随着时间的推移而增加。

例如,一个线程从队列中读取数据,另一个线程向同一队列中写入数据。队列上一次执行任一操作,直到释放锁为止。是否有任何数据结构可以避免这种情况。

最佳答案

ConcurrentLinkedQueue就是例子之一。请参阅 java.util.concurrent 中的其他类。

针对特定情况,还有性能更高的第三方库,例如LMAX Disruptor

关于java - java中任何集合或数据结构都是非阻塞的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40057121/

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