diff options
| -rw-r--r-- | main/src/cgeo/geocaching/utils/LazyInitializedList.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/utils/LazyInitializedList.java b/main/src/cgeo/geocaching/utils/LazyInitializedList.java index 6061394..8c773cf 100644 --- a/main/src/cgeo/geocaching/utils/LazyInitializedList.java +++ b/main/src/cgeo/geocaching/utils/LazyInitializedList.java @@ -6,7 +6,7 @@ import java.util.List; public abstract class LazyInitializedList<ElementType> implements Iterable<ElementType> { - private List<ElementType> list; + private volatile List<ElementType> list; public List<ElementType> get() { initializeList(); @@ -15,7 +15,11 @@ public abstract class LazyInitializedList<ElementType> implements Iterable<Eleme private void initializeList() { if (list == null) { - list = loadFromDatabase(); + synchronized (this) { + if (list == null) { + list = loadFromDatabase(); + } + } } } |
