多线程同步实现X加减1
多线程同步实现对x加减一的方法
1 public class SynThreadTest { 2 private int x; 3 // 设计两个线程,一个对x加1,一个对x减1 4 5 public static void main(String[] args) { 6 SynThreadTest stt = new SynThreadTest(); 7 inc inc =stt.new inc(); 8 Thread threadA = new Thread(inc); 9 threadA.start(); 10 11 dec dec = stt.new dec(); 12 Thread threadB = new Thread(dec); 13 threadB.start(); 14 } 15 16 class inc implements Runnable { 17 public void run() { 18 for (int i = 0; i < 20; i++) { 19 inc(); 20 } 21 } 22 private synchronized void inc() { 23 x++; 24 System.out.println(Thread.currentThread().getName() + "----" + x); 25 } 26 } 27 28 class dec implements Runnable { 29 public void run() { 30 for (int i = 0; i < 20; i++) { 31 dec(); 32 } 33 } 34 private synchronized void dec() { 35 x--; 36 System.out.println(Thread.currentThread().getName() + "-----"+ x); 37 } 38 } 39 }