zoukankan      html  css  js  c++  java
  • 2.1.8同步不具有继承性

    同步不可以继承

    package com.cky.bean;
    
    /**
     * Created by chenkaiyang on 2017/12/5.
     */
    public class Father {
        synchronized public void opeFatherMethod() {
            try {
                System.out.println("main begin");
                Thread.sleep(5000);
                System.out.println("main end");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    package com.cky.bean;
    
    /**
     * Created by chenkaiyang on 2017/12/5.
     */
    public class Son extends  Father{
        @Override
        public  void opeFatherMethod() {
            try {
                System.out.println("son begin");
                Thread.sleep(5000);
                System.out.println("son end");
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
    package com.cky.thread;
    
    import com.cky.bean.Son;
    
    /**
     * Created by chenkaiyang on 2017/12/5.
     */
    public class ThreadA extends Thread{
        private Son service;
        public ThreadA(Son service) {
            super();
            this.service = service;
        }
    
        @Override
        public void run() {
            super.run();
            service.opeFatherMethod();
        }
    }
    package com.cky.thread;
    
    import com.cky.bean.Son;
    
    /**
     * Created by chenkaiyang on 2017/12/5.
     */
    public class ThreadB extends  Thread{
        private Son service;
        public ThreadB(Son service) {
            super();
            this.service = service;
        }
    
        @Override
        public void run() {
            super.run();
            service.opeFatherMethod();
        }
    }
    package com.cky.test;
    
    import com.cky.bean.Son;
    import com.cky.thread.ThreadA;
    import com.cky.thread.ThreadB;
    
    /**
     * Created by chenkaiyang on 2017/12/2.
     */
    public class Test {
        public static void main(String[] args){
                Son service = new Son();
                ThreadA threadA = new ThreadA(service);
                threadA.setName("A");
                threadA.start();
                ThreadB threadB = new ThreadB(service);
                threadB.setName("B");
                threadB.start();
    
    
    
        }
    }
    D:itjdk1.8injava -Didea.launcher.port=7539 "-Didea.launcher.bin.path=D:itideaIntelliJ IDEA 2016.3.3in" -Dfile.encoding=UTF-8 -classpath "D:itjdk1.8jrelibcharsets.jar;D:itjdk1.8jrelibdeploy.jar;D:itjdk1.8jrelibextaccess-bridge-64.jar;D:itjdk1.8jrelibextcldrdata.jar;D:itjdk1.8jrelibextdnsns.jar;D:itjdk1.8jrelibextjaccess.jar;D:itjdk1.8jrelibextjfxrt.jar;D:itjdk1.8jrelibextlocaledata.jar;D:itjdk1.8jrelibext
    ashorn.jar;D:itjdk1.8jrelibextsunec.jar;D:itjdk1.8jrelibextsunjce_provider.jar;D:itjdk1.8jrelibextsunmscapi.jar;D:itjdk1.8jrelibextsunpkcs11.jar;D:itjdk1.8jrelibextzipfs.jar;D:itjdk1.8jrelibjavaws.jar;D:itjdk1.8jrelibjce.jar;D:itjdk1.8jrelibjfr.jar;D:itjdk1.8jrelibjfxswt.jar;D:itjdk1.8jrelibjsse.jar;D:itjdk1.8jrelibmanagement-agent.jar;D:itjdk1.8jrelibplugin.jar;D:itjdk1.8jrelib
    esources.jar;D:itjdk1.8jrelib
    t.jar;F:springboot	hreaddemooutproduction	hreaddemo;D:itideaIntelliJ IDEA 2016.3.3libidea_rt.jar" com.intellij.rt.execution.application.AppMain com.cky.test.Test
    son begin
    son begin
    son end
    son end
    
    Process finished with exit code 0

    从结果可以分析,同步不能继承,所以还得再子类加上synchoized关键字才行。

  • 相关阅读:
    XML传输数据导致的安全问题
    XML的学习
    docker的笔记
    对于glog中ShutdownGoogleLogging后不能再次InitGoogleLogging问题的解决办法
    游戏分类英文缩写
    带属性的向前声明:warning: type attributes are honored only at type definition
    linux GCC编译错误:CPU you selected does not support x8664 instruction set
    电商数据分析
    日常电脑软件推荐清单
    优秀开源组合:助你快速研发
  • 原文地址:https://www.cnblogs.com/edison20161121/p/7967447.html
Copyright © 2011-2022 走看看