gpt4 book ai didi

java - 将读取同步到 java 集合

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:39 24 4
gpt4 key购买 nike

所以我想要一个存储一系列股票报价的数组列表。但我会跟踪每个的出价、要价和最后价格。

当然,给定股票的出价或最后价格随时可能发生变化。

我有一个更新价格的线程和一个读取价格的线程。

我想确保在阅读时没有其他线程更新价格。所以我看了看同步集合。但这似乎只是在另一个线程正在向 arraylist 添加或删除条目时阻止读取。

所以现在我开始使用包装器方法:

public class Qte_List {
private final ArrayList<Qte> the_list;

public void UpdateBid(String p_sym, double p_bid){
synchronized (the_list){
Qte q = Qte.FindBySym(the_list, p_sym);
q.bid=p_bid;}
}

public double ReadBid(String p_sym){
synchronized (the_list){
Qte q = Qte.FindBySym(the_list, p_sym);
return q.bid;}
}

所以我想用它完成的是只有一个线程可以同时做任何事情——读取或更新 the_list 的内容。我这样做对吗?

谢谢。

最佳答案

是的,您走在正确的轨道上,应该行得通。

但为什么不使用现有的Hashtable已同步并提供键值查找的集合?

关于java - 将读取同步到 java 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2863234/

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