diff --git a/core-java-modules/core-java-concurrency-advanced-4/src/main/java/com/baeldung/volatilekeywordthreadsafety/VolatileVarNotThreadSafe.java b/core-java-modules/core-java-concurrency-advanced-4/src/main/java/com/baeldung/volatilekeywordthreadsafety/VolatileVarNotThreadSafe.java new file mode 100644 index 0000000000..cf9b7fd20b --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-4/src/main/java/com/baeldung/volatilekeywordthreadsafety/VolatileVarNotThreadSafe.java @@ -0,0 +1,47 @@ +package com.baeldung.volatilekeywordthreadsafety; + +import org.slf4j.LoggerFactory; +import org.slf4j.Logger; + +public class VolatileVarNotThreadSafe { + + private static final Logger LOG = LoggerFactory.getLogger(VolatileVarNotThreadSafe.class); + private static volatile int count = 0; + private static final int MAX_LIMIT = 1000; + + public static void increment() { + count++; + } + + public static int getCount() { + return count; + } + + public static void main(String[] args) throws InterruptedException { + Thread t1 = new Thread(new Runnable() { + @Override + public void run() { + for(int index=0; index 0); + } +}