так что я хочу иметь 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 - одновременно я подхожу к этому правильно?
спасибо.