執行緒的控制(常見方法)
執行緒的控制(常見方法)
休眠執行緒、加入執行緒、禮讓執行緒、後臺執行緒A:休眠執行緒
public static void sleep(long millis):在指定的毫秒數內讓當前正在執行的執行緒休 眠(暫停執行),
此操作受到系統計時器和排程程式精度和準確性的影響。
該執行緒不丟失任何監視器的所屬權。
Eg:Thread.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: // 設定守護執行緒
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();
}
}