public class ThreadTest {
    private int j;
    
    //+1
    private synchronized void add(){
    	j++;
    	System.out.println(Thread.currentThread().getName()+"add:"+j);
    }
    //-1
    private synchronized void sub(){
    	j--;
    	System.out.println(Thread.currentThread().getName()+"sub:"+j);
    }
    //加线程
    class Add implements Runnable{
    	public void run(){
    		for(int i=0;i<10;i++){
    			add();
    		}
    	}
    }
    //减线程
    class Sub implements Runnable{
    	public void run(){
    		for(int i=0;i<10;i++){
    			sub();
    		}
    	}
    }
    
	public static void main(String[] args) {
		ThreadTest threadTest=new ThreadTest();
		//创建2个线程类
		Add add=threadTest.new Add();
		Sub sub=threadTest.new Sub();
		for(int i=0;i<2;i++){
			Thread thread=new Thread(add);
			thread.start();
			thread=new Thread(sub);
			thread.start();
		}
		
}
}