gpt4 book ai didi

java - 阻塞队列消费者和竞争条件

转载 作者:行者123 更新时间:2023-11-30 11:35:09 25 4
gpt4 key购买 nike

我有一个应用程序可以连续从外部系统接收股票价格。

价格将由 stockID 键控。

当价格到达时,它们将被送入阻塞队列。

将有一个线程池从这个队列中消费和处理并将价格放入缓存中(股票 ID 和价格的 HashMap )。

令我困扰的是,如果队列中有重复股票 ID 的价格,当线程处理这些时,较旧的价格可能会在较新的价格之后写入缓存。

有没有办法绕过这种情况?

如何确保最后处理最新的?

最佳答案

您可以使用自动递增的序列号标记每个传入的价格更新。写入缓存时,您可以删除序列号低于该股票缓存中已有序列号的所有更新。

或者,您可以跨线程划分您的股票宇宙,这意味着给定股票的更新始终由同一线程处理。

关于java - 阻塞队列消费者和竞争条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15264297/

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