public class TestBases { static Example e; // Define the custom made class "Example" public static void main(String[] args) { e = new Example(); // Initialize "Example" with an instance of said class System.out.println(e.increment()); // 1 System.out.println(e.increment()); // 2 System.out.println(e.increment()); // 3 } }
public static void main(String[] args) { Example sharedData = new Example(); for (int i = 0; i < 1000; i++) sharedData.increment(); System.out.println("Incrementer finished"); for (int i = 0; i < 1000; i++) sharedData.decrement(); System.out.println("Decrementer finished"); System.out.println(sharedData.count); }
public static void main(String[] args) throws InterruptedException { Example sharedData = new Example(); Thread incrementer = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 1000; i++) sharedData.increment(); System.out.println("Incrementer finished"); } }); Thread decrementer = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 1000; i++) sharedData.decrement(); System.out.println("Decrementer finished"); } }); incrementer.start(); decrementer.start(); incrementer.join(); decrementer.join(); System.out.println(sharedData.count); }
public static void main(String[] args) throws InterruptedException { Example sharedData = new Example(); Thread incrementer = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 1000; i++) synchronized (sharedData){ sharedData.increment(); } System.out.println("Incrementer finished"); } }); Thread decrementer = new Thread(new Runnable() { @Override public void run() { for (int i = 0; i < 1000; i++) synchronized (sharedData){ sharedData.decrement(); } System.out.println("Decrementer finished"); } }); incrementer.start(); decrementer.start(); incrementer.join(); decrementer.join(); System.out.println(sharedData.count); }