线程面试题

Posted ww103

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线程面试题相关的知识,希望对你有一定的参考价值。

package com.bjsxt.test01;

/**
 * @program: JavaSE
 * @description
 * 面试题    Thread 多线程种run底层原理
 * @author: wuhao
 * @create: 2019-10-29 18:29
 **/
public class Test01 {
    public static void main(String[] args) {

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

这个结果为111111  因为传入Runnable 进来  Thread 种的run方法重写了  所以执行的是 Thread 的run方法

 

 

 

/**
 * @program: JavaSE
 * @description
 * 面试题    Thread 多线程种run底层原理
 * @author: wuhao
 * @create: 2019-10-29 18:29
 **/
public class Test01 {
    public static void main(String[] args) {

        new Thread(new Runnable() {
            @Override
            public void run() {
                System.out.println("222222");
            }
        }){
            @Override
            public void run() {
                super.run();
                System.out.println("111111");
            }
        }.start();
    }
}

这个输出的是22222    111111   因为super.run 方法底层就是传一个 Runnable 的实例   看下面的代码 target 就是传进来的

 @Override
    public void run() {
        if (target != null) {
            target.run();
        }
    }

 

以上是关于线程面试题的主要内容,如果未能解决你的问题,请参考以下文章

经验总结:Java高级工程师面试题-字节跳动,成功跳槽阿里!

前端面试题之手写promise

Java面试题多线程-线程安全

多线程 面试题—线程安全

Java面试题-线程安全

多线程——线程的运行状态(面试题)