創(chuàng)建線程的第二種方式:實(shí)現(xiàn)Runnable接口
步驟:
1,定義類實(shí)現(xiàn)Runnable接口。
2,覆蓋Runnable接口中的run方法。
將線程要運(yùn)行的代碼存放在該run方法中。
3,通過Thread類建立線程對(duì)象。
4,將Runnable接口的子類對(duì)象作為實(shí)際參數(shù)傳遞給Thread類的構(gòu)造函數(shù)。
為什么要將Runnable接口的子類對(duì)象傳遞給Thread的構(gòu)造函數(shù)?
因?yàn)?,自定義的run方法所屬的對(duì)象是Runnable接口的子類對(duì)象。
所以要讓線程去指定對(duì)象的run方法,就必須明確該run方法所屬對(duì)象。
5,調(diào)用Thread類的start方法開啟線程并調(diào)用Runnable接口子類的run方法。
實(shí)現(xiàn)方式和繼承方式有什么區(qū)別?(面試經(jīng)??迹?/p>
實(shí)現(xiàn)方式好處在于,避免了單繼承的局限性。
在定義線程時(shí),建議使用實(shí)現(xiàn)方式。
兩者的區(qū)別:
繼承Thread:線程代碼存放在Thread子類run方法中。
實(shí)現(xiàn)Runnable,線程代碼存放在接口的子類run方法。