首页 > 代码库 > 加一线程与减一线程共同操作一个数
加一线程与减一线程共同操作一个数
注意:不能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(); } }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。