【多執行緒與高併發】Java守護執行緒是什麼?什麼是Java的守護執行緒?

mind_programmonkey發表於2020-12-19

【多執行緒與高併發】Java守護執行緒

Java的執行緒分為兩種:User Thread(使用者執行緒)和Daemon Thread(守護執行緒)。

守護執行緒的作用就是為其它的執行緒提供便利服務。只要當前JVM例項中尚存任何一個非守護執行緒沒有結束,守護執行緒就繼續工作;只有當最後一個非守護執行緒結束時,守護執行緒會隨著JVM一同結束工作。

守護執行緒的使用:

在Thread類中提供了一個setDamon(true)方法來講一個普通的執行緒(使用者執行緒)設定為守護執行緒。

public final void setDaemon(boolean on);
  • thread.setDaemon(true)必須在thread.start()之前設定,否則會丟擲一個IllegalThreadStateException異常。

  • 在Daemon執行緒中產生的新執行緒也是Daemon的。

  • 不是所有的應用都可以分配給Daemon執行緒來進行服務的,比如讀寫操作或者計算邏輯

相關文章