42 執行緒停止

2022-02-24 18:22:04 字數 1108 閱讀 1458

一般我們使用多執行緒的時候,一般都會使用迴圈,畢竟如果就乙個語句,沒必要使用多執行緒

那麼怎樣停止乙個執行緒呢?

執行緒停止無外乎2種,要麼是執行完了任務,要麼強制停止

執行緒的停止:

1.我們可以定義乙個boolean型別的變數結合notity方法去控制線程的停止(使用notity是為了防止要被停止的執行緒wait)

2.也可以使用interrupt方法(強制停止會讓wait方法拋異常),至於start方法淘汰了,不建議使用

下面是兩種方式讓執行緒停止的例子:

方式一例子:

public

class demo10 implements

runnable

catch

(interruptedexception e)

}system.out.println(thread.currentthread().getname());}}

public

static

void

main(string args)

}system.out.println(thread.currentthread().getname()+i);}}

}

方式二:例子2

public

class demo10 implements

runnable

catch

(interruptedexception e)

}system.out.println(thread.currentthread().getname());}}

public

static

void

main(string args)

system.out.println(thread.currentthread().getname()+i);}}

}

注意:這兩個例子會出現過了20後,還會出現一次狗娃執行緒輸出的語句

應該是狗娃執行緒剛判斷是true後還沒來得急執行輸出語句,cpu就被main執行緒強去了,才導致後面還會執行一次(不過執行緒是真的停止了)

也有可能是wait造成的(去掉了也可能出現這種情況,畢竟我們沒有用鎖)

執行緒之停止執行緒

停止執行緒有三種方法 1.建議正常停止 利用次數,不建議死迴圈 2.建議使用標誌位 設定乙個標誌位 3.不要使用stop或者destoy等過時或者jdk不建議使用的方法舉例說明 想讓乙個正在執行的程式停下來,執行其他程式,執行完以後再進行自己的程式 怎麼來解決呢?可以自己設定乙個標識位.在自己的程式...

執行緒的停止

執行緒停止 執行緒的停止 1.停止乙個執行緒 我們一般都會通過乙個變數去控制的。2.如果需要停止乙個處於等待狀態下的執行緒,那麼我們需要通過變數配合notify方法或者interrupt 來使用。public class threaddemo5 extends thread public synch...

Java停止執行緒

1 run方法正常結束 public class stopthreaddemo class printthread extends thread 2 可以在run方法中設定標記讓執行緒正常結束 public class stopthreaddemo class printthread extends...