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