Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package testmaven;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- /**
- * @author potapov
- */
- public class VolatileTest {
- private static final Logger LOGGER = Logger.getLogger(VolatileTest.class.getSimpleName());
- private static int MY_INT = 0;
- public static void main(String[] args) {
- new ChangeListener().start();
- new ChangeMaker().start();
- }
- static class ChangeListener extends Thread {
- @Override
- public void run() {
- int local_value = MY_INT;
- while ( local_value < 5){
- // try {
- // Thread.sleep(5);
- // } catch (InterruptedException e) {
- // e.printStackTrace();
- // }
- if( local_value!= MY_INT){
- LOGGER.log(Level.INFO,"Got Change for MY_INT : {0}", MY_INT);
- local_value= MY_INT;
- }
- }
- }
- }
- static class ChangeMaker extends Thread{
- @Override
- public void run() {
- int local_value = MY_INT;
- while (MY_INT <5){
- LOGGER.log(Level.INFO, "Incrementing MY_INT to {0}", local_value+1);
- MY_INT = ++local_value;
- try {
- Thread.sleep(500);
- } catch (InterruptedException e) { e.printStackTrace(); }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement