У меня есть класс Cache
, который берет List<SomeObject> someObjectList
из БД и сохраняет его в статической переменной.
Теперь у меня есть другой поток A, который использует этот список следующим образом
class A extends Thread{
private List<SomeObject> somobjLst;
public A(){
somobjLst = Cache.getSomeObjectList();
}
void run(){
//somobjLst used in a loop here, no additong are done it , but its value is used
}
}
- Теперь, если в какой-то момент времени некоторые объекты будут добавлены в
Cache.someObjectList
, это отразится на классе А. Я думаю, что это должно быть как А, только содержит ссылку на него. - Будет лиБудут ли какие-либо проблемы в коде А при изменении содержимого
Cache.someObjectList
?
РЕДАКТИРОВАТЬ: Согласно предложениям: если я сделаю
void run (){
while(true){
synchronized(someObjList){
}
try{
Thread.sleep(INTERVAL);
}catch(Exception e){
}
}
}
это решит проблему?