- 相關(guān)推薦
Java語言start和run方法的區(qū)別
導(dǎo)語:Thread類定義了一個(gè)功能,用于存儲(chǔ)線程要運(yùn)行的代碼,該存儲(chǔ)功能就是run方法。那么它和start方法有什么不同呢?讓我們了解一下吧!
調(diào)用start方法方可啟動(dòng)線程,而run方法只是thread的一個(gè)普通方法,調(diào)用run方法不能實(shí)現(xiàn)多線程;
Start()方法:
start方法用來啟動(dòng)線程,實(shí)現(xiàn)了多線程運(yùn)行,這時(shí)無需等待run方法體代碼執(zhí)行完畢而直接繼續(xù)執(zhí)行下面的
代碼。通過調(diào)用Thread類的start()方法來啟動(dòng)一個(gè)線程,這時(shí)此線程處于就緒(可運(yùn)行)狀態(tài),并沒有運(yùn)行,
一旦得到cpu時(shí)間片(執(zhí)行權(quán)),就開始執(zhí)行run()方法,這里方法run()稱為線程體,
它包含了要執(zhí)行的這個(gè)線程的內(nèi)容,Run方法運(yùn)行結(jié)束,此線程隨即終止。
Run()方法:
run()方法只是Thread類的一個(gè)普通方法,如果直接調(diào)用Run方法,程序中依然只有主線程這一個(gè)線程,
其程序執(zhí)行路徑還是只有一條,還是要等待run方法體執(zhí)行完畢后才可繼續(xù)執(zhí)行下面的代碼,
這樣就沒有達(dá)到多線程的目的。
【Java語言start和run方法的區(qū)別】相關(guān)文章:
Java和C語言的區(qū)別07-28
Java語言中substr和substring的區(qū)別07-12
Java和PHP的區(qū)別09-09
java和js的區(qū)別08-05
C語言與JAVA的區(qū)別07-07
java語言和c語言的區(qū)別07-25
C語言與JAVA理論區(qū)別10-25
java.exe和javaw.exe的區(qū)別和使用方法示例09-21