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


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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM