30 lines
552 B
Java
Raw Normal View History

package com.iluwatar.lazy.loading;
2015-04-10 20:24:16 +03:00
/**
*
* Same as HolderNaive but with added synchronization. This implementation is thread safe, but each
* {@link #getHeavy()} call costs additional synchronization overhead.
2015-04-10 20:24:16 +03:00
*
*/
public class HolderThreadSafe {
private Heavy heavy;
/**
* Constructor
*/
public HolderThreadSafe() {
System.out.println("HolderThreadSafe created");
}
/**
* Get heavy object
*/
public synchronized Heavy getHeavy() {
if (heavy == null) {
heavy = new Heavy();
}
return heavy;
}
2015-04-10 20:24:16 +03:00
}