1. 程式人生 > >start()方法和run()方法有什麽區別?

start()方法和run()方法有什麽區別?

程序 執行 業務邏輯 邏輯 () 直接 tar 方法 能夠

通過調用線程類的start()方法來啟動一個線程,使線程處於就緒狀態,即可以被JVM來調度執行,在調度過程中,JVM通過調用線程類的run()方法來完成實際的業務邏輯,當run()方法結束後,此線程就會終止。

如果直接調用線程類的run()方法,會被當作一個普通的函數調用,程序中仍然只有主線程這一個線程。即start()方法能夠異步的調用run()方法,但是直接調用run()方法卻是同步的,無法達到多線程的目的。

因此,只用通過調用線程類的start()方法才能達到多線程的目的。

start()方法和run()方法有什麽區別?