start和run方法区别

时间:2021-02-13 00:55:17

系统调用start()方法启动一个线程,该线程处于就绪状态,而非运行状态,也就意味着这个线程可以被JVM来调度执行,在调度过程中,JVM通过线程类的run()方法来完成实际的操作,当run()方法结束后就会终止;

如果直接调用run()方法,这就相当于一个普通函数的调用,是同步的,无法达到多线程的目的,start()方法能后异步的调用run()方法,真正达到多线程的目的