1、定義一個類實現Runnable接口
2、覆蓋Runnable接口中的 run方法
將線程要運行的代碼放在run方法中
3、同過Thread類建立線程對象
4、將Runnable接口的子類對象作為實際參數傳遞給Thread類的構造函數。
為什么要將Runnable接口的子類對象傳遞給Thread的構造函數。
因為,自定義的run方法所屬的對象是Runnable 接口的子類對象。
5、調用Thread類的start方法開啟線程並調用Runnable接口子類的run方法。
實現方式和繼承的方式有什么區別?
實現方法的好處:避免了單繼承的錢局限性
在定義線程過程中,建立使用實現方式
兩種方式的區別:
繼承Tread: 線程代碼存放Tread子類run方法中;
實現 Runnable:線程代碼在接口的子類run方法中