1、概念区别
start():产生线程对象后,调用start()方法启动线程,线程处于运行状态RUNNABLE中的Ready就绪状态中,此时线程等待被CPU调度,调度后再执行run()方法,使用start()方法启动线程,真正实现了多线程。
run():run()方法是Thread中一个普通方法,直接用线程对象调用run()方法,会运行在主线程中。因为程序中只有一个主线程,当程序中有两个线程时,直接调用run()方法,程序按照顺序执行,没有实现多线程。
2、实例
public static void main(String[] args) { Thread t1 = new Thread(new Runnable() { @Override public void run() { System.out.println(Thread.currentThread().getName()); } },"unstoppbale_t"); t1.start(); }
以上就是java start()和run()的区别,希望对大家有所帮助。更多Java学习指路:Java基础