zoukankan      html  css  js  c++  java
  • Java 学习笔记之 父子类Synchronized

    父子类Synchronized:

    我们通过一个例子来验证下,父类和子类的Synchronized方法被同时调用,是否是同步的。

    public class FatherClass {
    
        synchronized public void callFather(){
            try {
                System.out.println("------------Call Father start------");
                Thread.sleep(10000);
                System.out.println("------------Call Father end------");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    public class SunClass extends FatherClass {
    
        synchronized public void callSon(){
            try {
                System.out.println("------------Call Son start------");
                Thread.sleep(10000);
                System.out.println("------------Call Son end------");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    
    }
    
    public class FatherThread extends Thread {
        private FatherClass f;
        public FatherThread(FatherClass f) {
            this.f = f;
        }
        @Override
        public void run() {
            super.run();
            f.callFather();
        }
    }
    
    public class SunThread extends Thread {
        private SunClass s;
    
        public SunThread(SunClass s) {
            this.s = s;
        }
    
        @Override
        public void run() {
            super.run();
            s.callSon();
        }
    }
    
    public class ThreadRunMain {
        public static void main(String[] args) {
            testSyncFSThread();
        }
    
        public static void testSyncFSThread(){
            SunClass sc = new SunClass();
            SunThread st = new SunThread(sc);
            st.start();
            FatherThread ft = new FatherThread(sc);
            ft.start();
        }
    }

    运行结果:

    通过验证,回答是Yes。

  • 相关阅读:
    asp image
    Linux安装破解sublime text 2
    Ubuntu Java环境配置
    Ubuntu上完美视频播放软件XBMC
    制作Ubuntu Live启动盘
    STM32·flash烧写
    Ubuntu上用Windows那些软件
    Ubuntu屏幕亮度控制在acer4750g笔记本上失效的解决方法
    Ubuntu的grub启动界面,默认高亮选项的修改方法
    Ubuntu解决无法删除msttcorefonts的问题
  • 原文地址:https://www.cnblogs.com/AK47Sonic/p/7726931.html
Copyright © 2011-2022 走看看