Skip to content

Commit 1b15ea8

Browse files
committed
Avoid expensive locking on every Language access
1 parent 222a56a commit 1b15ea8

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

app/src/processing/app/Language.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public class Language {
4343
static protected final File prefFile = Base.getSettingsFile(PREF_FILE);
4444

4545
/** Single instance of this Language class */
46-
static private Language instance = null;
46+
static private volatile Language instance;
4747

4848
/** The system language */
4949
private String language;
@@ -149,9 +149,13 @@ static public void saveLanguage(String language) {
149149

150150

151151
/** Singleton constructor */
152-
static public synchronized Language init() {
152+
static public Language init() {
153153
if (instance == null) {
154-
instance = new Language();
154+
synchronized(Language.class) {
155+
if (instance == null) {
156+
instance = new Language();
157+
}
158+
}
155159
}
156160
return instance;
157161
}

0 commit comments

Comments
 (0)