當前位置:編程學習大全網 - 源碼下載 - Java線程中run和start方法的區別?

Java線程中run和start方法的區別?

兩種方法的區別\x0d\ 1) start:\x0d\用\x0d\start方法來啟動線程,真正實現了多線程運行,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼。通過調用Thread類的\x0d\start()方法來啟動壹個線程,這時此線程處於就緒(可運行)狀態,並沒有運行,壹旦得到cpu時間片,就開始執行run()方法,這裏方法 \x0d\run()稱為線程體,它包含了要執行的這個線程的內容,Run方法運行結束,此線程隨即終止。\x0d\ 2) run:\x0d\run()\x0d\方法只是類的壹個普通方法而已,如果直接調用Run方法,程序中依然只有主線程這壹個線程,其程序執行路徑還是只有壹條,還是要順序執行,還是要等待\x0d\run方法體執行完畢後才可繼續執行下面的代碼,這樣就沒有達到寫線程的目的。總結:調用start方法方可啟動線程,而run方法只是thread的壹\x0d\個普通方法調用,還是在主線程裏執行。這兩個方法應該都比較熟悉,把需要並行處理的代碼放在run()方法中,start()方法啟動線程將自動調用 \x0d\run()方法,這是由jvm的內存機制規定的。並且run()方法必須是public訪問權限,返回值類型為void.。\x0d\\x0d\兩種方式的比較 :\x0d\\x0d\實際中往往采用實現Runable接口,壹方面因為java只支持單繼承,繼承了Thread類就無法再繼續繼承其它類,而且Runable接口只有壹個run方法;另壹方面通過結果可以看出實現Runable接口才是真正的多線程?

  • 上一篇:c語言如何解析xml並將所有內容存入數組
  • 下一篇:如何利用VC++自動生成Excel表格
  • copyright 2024編程學習大全網