儿童节,托儿所。


package ym.com.yjc;

/**

  • 此类用于演示死锁 A B 俩各类 分别有一个 money 属性 如果 A 增加 100 则 b 减 100 相反 b+100 a-100
    */
    public class TestLock {
    public static void main(String[] args) {
    A a = new A();
    B b = new B();
    DeadLockDemo deadLockDemo = new DeadLockDemo(a, b, true);
    deadLockDemo.start();
    DeadLockDemo deadLockDemo1 = new DeadLockDemo(a, b, false);
    deadLockDemo1.start();

    }

}

class DeadLockDemo extends Thread {
A a;
B b;

public DeadLockDemo(A a, B b, boolean flag) {
    this.a = a;
    this.b = b;
    this.flag = flag;
}

boolean flag;


@Override
public void run() {
    if (flag) {
        synchronized (a) {
            a.save();
            synchronized (b) {
                b.minus();

            }
        }


    } else {
        synchronized (b) {
            b.save();
            synchronized (a) {
                a.minus();

            }
        }
    }
}

}

class A {
public int a;

public void save() {

    a = a + 100;
    System.out.println("a=" + a);
}

public void minus() {
    a = a - 100;
    System.out.println("a=" + a);
}

}

class B {
public int b;

public void save() {

    b = b + 100;
    System.out.println("b=" + b);
}

public void minus() {
    System.out.println("b=" + b);
    b = b - 100;
}

}

优质内容筛选与推荐>>
1、ASP.NET MVC 的URL路由介绍
2、一个微信活动的思路
3、Markdown
4、【转】gcc 编译使用动态链接库和静态链接库
5、22.用demo通过点击切换图片路径


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号