zoukankan      html  css  js  c++  java
  • Java之线程(1) 传统线程机制的回顾

    1.线程:程序的执行线索

    2.创建线程的两种方法:

     a.

     
     Thread thread = new Thread(){
             public void run(){
        
             }
      }  

    b.

    Thread thread = new Thread(new Runnable(){
              public void run(){
     
               }
    });//更加体现面向对象的思维

    3.在传递给Thread对象的Runnable对象的run方法中编写代码

       查看Thread类的run方法的源码,可以看到其实这两种方式都是在调用Thread对象的run方法,如果Thread类的run方法没有被覆盖,并且为该Thread对象设置了一个Runnable对象,该run方法会调用Runnable对象的run方法。
    4.question.

       如果在Thread子类覆盖的run方法中编写了运行代码也为Thread子类对象传递了一个Runnable对象,那么,线程运行时的执行代码是子类的run方法?

       还是Runnable对象的run方法。(匿名内部类对象的构造方法如何调用父类的非默认构造方法)

    new Thread(new Runnable(){
                @Override
                public void run() {
                    System.out.println("runnable");
                }
            }){
                
                public void run() {
                    System.out.println("thread");
                };
                
            }.start();

     thread

    在这里复习一下java基础知识:内部类

    public class ThreadDemo {
        public static class A{//静态内部类
            
        }
        public class B{//成员内部类
            class C{//局部内部类
                public void method(){
                    new Object(){//匿名内部类
                    
                    };
                }
            }
        }
    }

     关于构造器与父子类的关系:

    public class FatherClazz {
        
        public FatherClazz() {
            System.out.println("FatherClazz");
        }
        
        public static void main(String[] args) {
            new SonClazz();
        }
        
        public static class SonClazz extends FatherClazz{
            public SonClazz(){
                System.out.println("SonClazz");
            }
        }
    }

    注:子类SonClazz 中有构造器,那么就调用子类的构造器,如果子类SonClazz 中无构造器,会调用父类的构造器。

     
     
     
  • 相关阅读:
    Java8 Stream
    一个轻量级的基于RateLimiter的分布式限流实现
    常用限流算法与Guava RateLimiter源码解析
    Java学习之socket网络编程篇
    Java学习之文件io流篇
    Java学习之异常篇
    Java学习之多线程篇
    Java学习之集合篇
    Java学习之常用类篇
    Java学习之final与匿名内部类篇
  • 原文地址:https://www.cnblogs.com/royi123/p/3082718.html
Copyright © 2011-2022 走看看