常用的實現(xiàn)多線程的2種方式:Thread和Runnable。
Thread
Ruannable
Thread和Ruannable區(qū)別
區(qū)別:
Thread:是一個類,其實它實現(xiàn)的也是Ruannable接口。
Ruannable:是一個接口。
一個類只能有一個父類,但是可以實現(xiàn)多個接口,Ruannable的擴(kuò)展性更加好一些,避免了java中單繼承的局限性。
多個線程基于某一個Runnable對象建立的,共享Runnable對象資源,增加程序的健壯性,實現(xiàn)了解耦操作,代碼和線程獨立。
查看Thread類的run()方法的源代碼,可以看到其實這兩種方式都是在調(diào)用Thread對象的run方法,如果Thread類的run方法沒有被覆蓋,并且為該Thread對象設(shè)置了一個Runnable對象,該run方法會調(diào)用Runnable對象的run方法。
我們發(fā)現(xiàn)上述代碼中,出現(xiàn)了相同的結(jié)果,這就是多線程中存在的安全性問題
以上就是北大青鳥長沙麓谷校區(qū)java培訓(xùn)機(jī)構(gòu)的小編針對“Java基礎(chǔ)學(xué)習(xí):java多線程的實現(xiàn)”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
Java基礎(chǔ)學(xué)習(xí)