用戶線程和守護線程瞭解嗎? 什麼是用戶線程和守護線程? 守護線程是一種特殊的線程,在後臺默默地完成一些系統性的服務,比如垃圾回收線程、JIT線程都是守護線程。與之對應的是用戶線程,用戶線程可以理解為是系統的工作線程,它會完成這個程式需要完成的業務操作。 如何手動設置線程為守護線程? java 中的線 ...
用戶線程和守護線程瞭解嗎?
什麼是用戶線程和守護線程?
守護線程是一種特殊的線程,在後臺默默地完成一些系統性的服務,比如垃圾回收線程、JIT線程都是守護線程。與之對應的是用戶線程,用戶線程可以理解為是系統的工作線程,它會完成這個程式需要完成的業務操作。
如何手動設置線程為守護線程?
java 中的線程分為兩種:守護線程(Daemon)和用戶線程(User)。任何線程都可以設置為守護線程和用戶線程,通過方法 setDaemon() 即可實現。
// 介面方法
void setDaemon(boolean on) // 將此線程標記為用戶線程,true 則把該線程設置為守護線程,反之則為用戶線程
boolean isDaemon() // 判斷這個線程是否是守護線程,返回true表示守護線程,否則為用戶線程
註意點:
- 當程式中所有的用戶線程執行完畢之後,不管守護線程是否結束,系統都會自動退出;
- java線程分為用戶線程和守護線程,線程的 daemon 屬性為 true 表示是守護線程,false 表示是用戶線程;
- 設置守護線程:
t1.setDaemon(true)
,該語句要放在t1.start()
方法執行之前,如果放在後面,會報IllegalThreadStateException
異常,不起作用;