多线程同步实现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 }
原文地址:https://www.cnblogs.com/zjwia/p/2986301.html