Advertisement
Guest User

Untitled

a guest
Oct 21st, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.43 KB | None | 0 0
  1. package testmaven;
  2.  
  3. import java.util.logging.Level;
  4. import java.util.logging.Logger;
  5.  
  6. /**
  7.  * @author potapov
  8.  */
  9. public class VolatileTest {
  10.     private static final Logger LOGGER = Logger.getLogger(VolatileTest.class.getSimpleName());
  11.  
  12.     private static int MY_INT = 0;
  13.  
  14.     public static void main(String[] args) {
  15.         new ChangeListener().start();
  16.         new ChangeMaker().start();
  17.     }
  18.  
  19.     static class ChangeListener extends Thread {
  20.         @Override
  21.         public void run() {
  22.             int local_value = MY_INT;
  23.             while ( local_value < 5){
  24. //                try {
  25. //                    Thread.sleep(5);
  26. //                } catch (InterruptedException e) {
  27. //                    e.printStackTrace();
  28. //                }
  29.                 if( local_value!= MY_INT){
  30.                     LOGGER.log(Level.INFO,"Got Change for MY_INT : {0}", MY_INT);
  31.                     local_value= MY_INT;
  32.                 }
  33.             }
  34.         }
  35.     }
  36.  
  37.     static class ChangeMaker extends Thread{
  38.         @Override
  39.         public void run() {
  40.  
  41.             int local_value = MY_INT;
  42.             while (MY_INT <5){
  43.                 LOGGER.log(Level.INFO, "Incrementing MY_INT to {0}", local_value+1);
  44.                 MY_INT = ++local_value;
  45.                 try {
  46.                     Thread.sleep(500);
  47.                 } catch (InterruptedException e) { e.printStackTrace(); }
  48.             }
  49.         }
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement