码迷,mamicode.com
首页 > 编程语言 > 详细

加一线程与减一线程共同操作一个数

时间:2014-08-14 23:51:36      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   数据   for   ar   art   问题   

 注意:不能synchronized(j) 因为j是基本数据类型,不是对象!

/**
 * 加一线程与减一线程共同操作一个数 两个问题: 1、线程同步--synchronized 2、线程之间如何共享同一个j变量--内部类
 * 
 */
public class test {
    int j = 1;

    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 P implements Runnable {
        public void run() {
            inc();
        }
    }

    class C implements Runnable {
        public void run() {
            dec();
        }
    }

    public static void main(String[] args) {
        test t = new test();
        P p = t.new P();
        C c = t.new C();
        for (int i = 0; i < 2; i++) {
            Thread pp = new Thread(p);
            pp.start();

            Thread cc = new Thread(c);
            cc.start();
        }

    }
}

 

加一线程与减一线程共同操作一个数,布布扣,bubuko.com

加一线程与减一线程共同操作一个数

标签:style   blog   color   数据   for   ar   art   问题   

原文地址:http://www.cnblogs.com/seven7seven/p/3913585.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!