Thread的start()與run()的區別

啓動一個線程是調用start()方法。使線程是處於就緒狀態(可運行狀態), 並沒有運行。可以由JVM調度並執行,並不代表線程會立即運行。然後調用方法run()來完成其運行操作,run()方法稱爲線程體,它包含了要執行的這個線程的內容,run()方法運行結束,此線程停止, 而CPU再運行其它線程。
而如果直接用run()方法,這只是調用一個方法而已,程序中依然只有主線程--這一個線程,其程序執行路徑還是隻有一條,這樣就沒有達到寫線程的目的。

start()可以設置優先級,而run()不能。

run()是虛函數,需要你自己在派生類中來實現的,是你的線程要具體的執行的過程內容。
run()用來重載定義自己的線程函數,strat()用來在主程序中執行run(),啓動線程。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章