1. 程式人生 > >執行緒的控制(常見方法)

執行緒的控制(常見方法)

執行緒的控制(常見方法)

休眠執行緒、加入執行緒、禮讓執行緒、後臺執行緒

A:休眠執行緒

public static void sleep(long millis):在指定的毫秒數內讓當前正在執行的執行緒休 眠(暫停執行),

此操作受到系統計時器和排程程式精度和準確性的影響。

 該執行緒不丟失任何監視器的所屬權。 

EgThread.sleep(1000);

B:加入執行緒

public final void join():等待該執行緒終止(為了讓某些執行緒執行完畢,別人才      能繼續)

     Eg: tj1.start();

try {

tj1.join();//只有當tj1執行完畢,其他程序    才能開始

} catch (InterruptedException e) {

e.printStackTrace();

}

C:禮讓執行緒

public static void yield():暫停當前正在執行的執行緒物件,並執行其他執行緒。

讓多個執行緒的執行更和諧,但是不能靠它保證一人一次。

Eg: Thread.yield();

D:後臺執行緒

public final void setDaemon(boolean on):將該執行緒標記為守護執行緒或使用者執行緒。

 當正在執行的執行緒都是守護執行緒時,Java 虛擬機器退出。 

該方法必須在啟動執行緒前呼叫。

Eg // 設定守護執行緒

當正在執行的執行緒都是守護執行緒時,Java //虛擬機器退出

td1.setDaemon(true);

td2.setDaemon(true);

td1.start();

td2.start();

E:執行緒中斷

public final void stop():(已經過時)

public void interrupt():中斷執行緒。把執行緒的狀態終止,並丟擲一個 InterruptedException

Eg public static void main(String[] args) {

ThreadStop ts = new ThreadStop();

ts.start();

try {

Thread.sleep(3000);

// ts.stop();

ts.interrupt();

} catch (InterruptedException e) {

e.printStackTrace();

}

}