现在的位置: 首页 > 综合 > 正文

内部类实现线程例子【转】

2013年10月13日 ⁄ 综合 ⁄ 共 866字 ⁄ 字号 评论关闭

设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
以下程序使用内部类实现线程,对j增减的时候没有考虑顺序问题。
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();
            }
        }
    }
}

抱歉!评论已关闭.