更新時(shí)間:2020-03-26 13:29:35 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2699次
Java多線程的實(shí)現(xiàn)方式分別有三種,繼承Thread類、實(shí)現(xiàn)Runnable接口、實(shí)現(xiàn)Callable接口。
1.繼承Thread類
繼承Thread類復(fù)寫父類中的run()。Thread類也是Runnable接口的一個(gè)子類。要想啟動(dòng)線程必須依靠Threan類的start()方法執(zhí)行,線程啟動(dòng)之后會(huì)默認(rèn)調(diào)用run()方法,一個(gè)線程只能啟動(dòng)唯一一次,多次啟動(dòng)會(huì)拋異常

2.實(shí)現(xiàn)Runnable
因?yàn)镴ava是單繼承的,一個(gè)類只能有一個(gè)父類,所以如果已經(jīng)繼承了一個(gè)類就不能在繼承Thread類了。所以這時(shí)候啟動(dòng)線程可以用實(shí)現(xiàn)Runnable接口來完成。

3.實(shí)現(xiàn)Callable接口
實(shí)現(xiàn)Callable接口相對(duì)于實(shí)現(xiàn)Runnable接口它有返回值,而且還可以拋出異常,執(zhí)行Callable方式,需要FutureTask實(shí)現(xiàn)類的支持,用于接收運(yùn)算結(jié)果。

4.總結(jié)

以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java基礎(chǔ)學(xué)習(xí):java多線程實(shí)現(xiàn)”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)閱讀