Java 线程构造函数的实现

Java 线程构造函数的实现,java,multithreading,Java,Multithreading,当对运行方法调用start()时,将调用匿名可运行对象上的方法。线程构造函数中的实现是什么 它是否会以某种方式将匿名可运行对象强制转换为线程对象,并将其指向一个?线程构造函数使用给定的可运行对象作为线程的委托 所有的魔法都发生在start()方法中。这是创建新操作系统线程的方法,并安排在其中调用this.run() 如果this是Thread的子类,则this.run()调用子类的run()方法 如果this是一个带有委托的Thread实例,则this.run()调用委托的run()方法 如果t

当对运行方法调用
start()
时,将调用匿名可运行对象上的方法。线程构造函数中的实现是什么


它是否会以某种方式将匿名可运行对象强制转换为线程对象,并将其指向一个?

线程
构造函数使用给定的
可运行对象作为线程的委托

所有的魔法都发生在
start()
方法中。这是创建新操作系统线程的方法,并安排在其中调用
this.run()

如果
this
Thread
的子类,则
this.run()
调用子类的
run()
方法

如果
this
是一个带有委托的
Thread
实例,则
this.run()
调用委托的
run()
方法

如果
this
是一个没有委托的
Thread
实例,则
this.run()
将不执行任何操作而返回,新线程立即终止。

是否尝试检查?
Thread a = new Thread(new Runnable(){
    @Override         
    Public void run(){

    }
});