java中runnable接口 runnable和thread實現(xiàn)多線程的區(qū)別?
runnable和thread實現(xiàn)多線程的區(qū)別?在Java中創(chuàng)建線程有兩種方法:1。通過繼承thread類并重寫thread的run()方法,我們將thread的運行邏輯放入其中。2通過實現(xiàn)runna
runnable和thread實現(xiàn)多線程的區(qū)別?
在Java中創(chuàng)建線程有兩種方法:1。通過繼承thread類并重寫thread的run()方法,我們將thread的運行邏輯放入其中。2通過實現(xiàn)runnable接口,我們實例化了thread類。runnable接口只有一個方法run()。我們聲明自己的類來實現(xiàn)runnable接口并提供這個方法,將線程代碼寫入其中,然后完成這部分任務。但是runnable接口不支持線程。我們還必須創(chuàng)建thread類的實例,該實例由thread類的構造函數(shù)publicthread(runnabletarget)實現(xiàn)。三。繼承線程實現(xiàn)的模式是定義多個線程并完成它們自己的任務。4可運行實現(xiàn)的實現(xiàn)方式是定義多個線程并實現(xiàn)一個任務。結論:一種是多線程分別完成各自的任務,另一種是多線程共同完成一個任務。其實,在一個任務的實現(xiàn)中用多個線程來做,也可以用繼承的thread類來實現(xiàn),但是比較麻煩。通常,我們使用runnable接口來實現(xiàn)。