run()方法与start()的区别?
2017-10-11 22:56
246 查看
通常,系统通过调用线程类的start()方法来启动一个线程,此时该线程就处于就绪状态,而非运行状态,也就意味着这个线程可以被jvm来调度执行。在调度过程中,JVM通过调用线程类的run()方法来完成实际的操作,当run()方法结束后此线程就会终止。
如果直接调用线程类的run()方法,这会被当作一个普通的函数调用,程序中仍然只有主线程这一个线程,也就是说start()方法能够异步的调用run()方法,但是直接调用run()方法却是同步的因此也就无法达到多线程的目的。
由此可知,只有通过调用线程类的start()方法才能达到多线程的目的。
如果直接调用线程类的run()方法,这会被当作一个普通的函数调用,程序中仍然只有主线程这一个线程,也就是说start()方法能够异步的调用run()方法,但是直接调用run()方法却是同步的因此也就无法达到多线程的目的。
由此可知,只有通过调用线程类的start()方法才能达到多线程的目的。
相关文章推荐
- Java线程中run和start方法的区别
- Thread类的run()和start()方法的区别
- Java线程中run和start方法的区别
- 调用start()方法和直接调用run()方法的区别
- Thread.java start方法和run方法的区别
- start()和run()方法的区别
- Thread调用run()和start()方法的区别
- Java线程中run和start方法的区别
- start()和run()方法的区别
- 多线程中start和run方法的区别
- java线程中run和start方法的区别
- Thread类调用run()方法和调用start()方法的区别
- Java线程中run和start方法的区别
- Java线程中run和start方法的区别
- java 线程start()和run()方法的区别
- Java -- Thread中start和run方法的区别
- 线程类的run()与start()方法区别
- java 线程 start 方法 跟 run 方法的区别
- Java中start和run方法的区别
- Java多线程中run和start方法的区别