首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

多线程范例

2013-07-08 
多线程实例多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1publi

多线程实例
多线程-用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1

public class IncDecThread { 
 
    private int j=10; 
     
    /*
     * 题目:用JAVA写一个多线程程序,写四个线程,其中二个对一个变量加1,另外二个对一个变量减1
     * 两个问题:
     * 1、线程同步--synchronized
     * 2、线程之间如何共享同一个j变量--内部类
     */ 
    public static void main(String[] args) { 
        IncDecThread incDec=new IncDecThread(); 
        Inc inc=incDec.new Inc(); 
        Dec dec=incDec.new Dec(); 
        for(int i=0;i<2;i++){ 
            Thread thread=new Thread(inc); 
            thread.start(); 
            thread=new Thread(dec); 
            thread.start(); 
        } 
    } 
 
    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); 
    } 
     
    class Inc implements Runnable{ 
        public void run(){ 
            for(int i=0;i<20;i++){ 
                inc(); 
            } 
        } 
    } 
    class Dec implements Runnable{ 
        public void run(){ 
            for(int i=0;i<20;i++){ 
                dec(); 
            } 
        } 
    } 

热点排行