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()的区别是什么的详细内容,更多请关注Work网其它相关文章!

08-12 20:56