0
点赞
收藏
分享

微信扫一扫

4线程,2个对i加,2个对i减

飞空之羽 2023-02-19 阅读 47


package test1;


/**
* 设计4个线程,其中2个线程,每次对i加1,另外两个线程,每次对i减一
*
* @author Administrator
*
*/
public class Thread2 {
public static void main(String[] args) {
ShareData d = new ShareData();
for (int i = 0; i < 2; i++) {
new Thread(new Runnable1(d)).start();
new Thread(new Runnable2(d)).start();
}
}
}

/**
* 加
* @author Administrator
*
*/
class Runnable1 implements Runnable {
private ShareData d;
public Runnable1 (ShareData d) {
this.d = d;
}

@Override
public void run() {
d.increment();
}
}

/**
* 减
* @author Administrator
*
*/
class Runnable2 implements Runnable {
private ShareData d;
public Runnable2 (ShareData d) {
this.d = d;
}

@Override
public void run() {
d.decrement();
}
}


class ShareData {

private int i = 0;

public synchronized void increment () {
i++;
System.out.println("加后i为:" + i);
}

public synchronized void decrement () {
i--;
System.out.println("减后i为:" + i);
}
}

 

 

 

举报

相关推荐

0 条评论