线程类的run()与start()方法区别

版权声明:本文为博主原创文章,未经博主允许不得转载! https://blog.csdn.net/qq_25560423/article/details/73695186

系统通过调用start()方法来启动一个线程,此时该线程就处于就绪状态,而非运行状态,也就意味着这个线程可以呗JVM来调度执行。调度过程中JVM通过调用线程类的run()方法来完成实际的操作,当run()方法结束后,此线程就会终止。
直接调用run()方法,会被当作一个普通函数调用,程序中仍只有主线程这一个线程。也就是说,start()方法能异步地调用run()方法,但是直接调用run()方法却是同步的,因此也就无法达到多线程的目的。

猜你喜欢

转载自blog.csdn.net/qq_25560423/article/details/73695186