前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中类中多个Synchronized方法

java中类中多个Synchronized方法

作者头像
马克java社区
修改2021-04-23 10:48:08
8950
修改2021-04-23 10:48:08
举报
文章被收录于专栏:java大数据

类中多个Synchronized方法  

下面给出一个例子,说明一个class中有两个方法synchronized的情况。它们互相阻挡的用法和上面的“一个方法有synchronized”的情况是一样的。

例1.9.5:

class A {

    public synchronized void f1() {

        for (int i = 0; i < 3; i++) {

            try {

                Thread.sleep(1000);

            } catch (Exception e) {

            }

            System.out.println("f1 i = " + i);

        }

    }

    

    public synchronized void f2() {

        for (int i = 0; i < 3; i++) {

            try {

                Thread.sleep(1000);

            } catch (Exception e) {

            }

            System.out.println("f2 i = " + i);

        }

    }

}

class MyThread1 extends Thread {

    A a;

    public MyThread1(A a) {

        this.a = a;

    }

    public void run() {

        a.f1();

    }

}

class MyThread2 extends Thread {

    A a;

    public MyThread2(A a) {

        this.a = a;

    }

    public void run() {

        a.f2();

    }

}

public class TestMark_to_win {

    public static void main(String[] args) {

        A a = new A();

        Thread t1 = new MyThread1(a);

        Thread t2 = new MyThread2(a);

        t1.start();

        t2.start();

    }

}

更多请见:https://blog.csdn.net/qq_44639795/article/details/101263887

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档