本文目錄一覽:
java中線程的run()方法是什麼?
上面幾個說的也是我要說的幾點,
run() 方法是不用參數的,不用傳他就會知道。
因為線程裡邊大多都是死循環,和主線程同步運行。(當然實際不是這樣的。但可以這樣理解)
比如:定義一個用於轉換狀態的屬性。
static final int STATE_GAME_RUN = 0;
static final int STATE_GAME_OVER = 1;
int state;
run 方法裡邊有這樣的:
switch(state)
case STATE_GAME_RUN :
System.out.println(“遊戲進行中”);
break;
case STATE_GAME_OVER:
System.out.println(“遊戲結束”);
break;
當主線程裡邊state改變時,線程裡邊馬上就會知道,還用傳
什麼是javarun
javarun?
public class test extends Thread {
public void run() {
int i = 0;
while(true) {
try {
sleep(1000);
i ++;
System.out.println(this.getName() + i);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new test().start();
}
}
java中線程的run()方法
當一個線程調用它的start()方法後,虛擬機就會去調用這個線程中的run()方法。
如myThread是一個線程對象,調用myThread.start();後,當CPU輪到這個線程使用時,虛擬機就會去調用這個線程的run()方法。
Java線程中run和start方法的區別
區別:調用start方法實現多線程,而調用run方法沒有實現多線程
Start:
用start方法來啟動線程,真正實現了多線程運行,這時無需等待run方法體代碼執行完畢而直接繼續執行下面的代碼。通過調用Thread類的start()方法來啟動一個線程,這時此線程處於就緒(可運行)狀態,並沒有運行,一旦得到spu時間片,就開始執行run()方法,這裡方法run()稱為線程體,它包含了要執行的這個線程的內容,Run方法運行結束,此線程隨即終止。
Run:
run()方法只是類的一個普通方法而已,如果直接調用Run方法,程序中依然只有主線程這一個線程,其程序執行路徑還是只有一條,還是要順序執行,還是要等待run方法體執行完畢後才可繼續執行下面的代碼,這樣就沒有達到寫線程的目的。
總結:調用start方法方可啟動線程,而run方法只是thread的一個普通方法調用,還是在主線程里執行。
原創文章,作者:NBKZ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/140907.html