public class ThreadTest1
{ private int j;
public static void main(String args[])
{ ThreadTest1 tt=new ThreadTest1();
Inc inc=tt.new Inc(); Dec dec=tt.new Dec(); for(int i=0;i<2;i++)
{ Thread t=new Thread(inc);
t.start(); t=new Thread(dec); t.start(); } }
private synchronized void inc()
{ j++; System.out.println
(Thread.currentThread().
getName()+"-inc:"+j); }
private synchronized void dec()
{ j--; System.out.println
(Thread.currentThread().getName()+"-dec:"+j); }
class Inc implements Runnable
{ public void run()
{ for(int i=0;i<100;i++){ inc(); } } }
class Dec implements Runnable
{ public void run(){ for(int i=0;i<100;i++)
{ dec();
}
}
}
} |