Java Thread類(lèi)如何在子類(lèi)中實(shí)現(xiàn)run
Java Thread類(lèi)在我們的學(xué)習(xí)過(guò)程中有不少的問(wèn)題,下面我們就看看如何才能更好學(xué)習(xí)呢?我們不妨設(shè)想,為了創(chuàng)建一個(gè)新的線程,我們需要做些什么?很顯然,我們必須指明這個(gè)線程所要執(zhí)行的代碼,而這就是在Java中實(shí)現(xiàn)多線程我們所需要做的一切!
作為一個(gè)完全面向?qū)ο蟮恼Z(yǔ)言,Java提供了類(lèi) java.lang.Thread 來(lái)方便多線程編程,這個(gè)類(lèi)提供了大量的方法來(lái)方便我們控制自己的各個(gè)線程。
那么如何提供給 Java 我們要線程執(zhí)行的代碼呢?讓我們來(lái)看一看 Java Thread類(lèi)。Java Thread 類(lèi)最重要的方法是 run() ,它為T(mén)hread 類(lèi)的方法 start() 所調(diào)用,提供我們的線程所要執(zhí)行的代碼。為了指定我們自己的代碼,只需要覆蓋它!
繼承Java Thread類(lèi),重寫(xiě)方法 run(),我們?cè)趧?chuàng)建的 Thread 類(lèi)的子類(lèi)中重寫(xiě) run() ,加入線程所要執(zhí)行的代碼即可。下面是一個(gè)例子:
- public class TwoThread extends Thread {
- public void run() {
- for ( int i = 0; i < 10; i++ ) {
- System.out.println("New thread");
- }
- }
- public static void main(String[] args) {
- TwoThread tt = new TwoThread();
- tt.start();
- for ( int i = 0; i < 10; i++ ) {
- System.out.println("Main thread");
- }
- }
- }
這種方法簡(jiǎn)單明了,符合大家的習(xí)慣,但是,它也有一個(gè)很大的缺點(diǎn),那就是如果我們的類(lèi)已經(jīng)從一個(gè)類(lèi)繼承,則無(wú)法再繼承Java Thread類(lèi)。
【編輯推薦】