线程面试题
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(); } }
以上是关于线程面试题的主要内容,如果未能解决你的问题,请参考以下文章