1、 java中用兩種線程:
1 ) 守護線程
守護線程 (Daemon) 是比較特殊的一種低級別線程,一般被用于在后臺為其它線程提供服務。比如當用戶編寫 Word 文檔時,不斷進行拼寫檢查的線程就是個守護線程,它不會影響用戶編輯文件。典型的守護線程例子是 JVM 中的系統資源自動回收線程,它始終在低級別的狀態中運行,不需要占用大量的系統資源,多用于實時監控和管理系統中的可回收資源。
可以通過調用方法 isDaemon() 來判斷一個線程是否是守護線程,而將一個用戶線程設置為守護線程的方法是在線程對象創建之前調用線程對象的 setDaemon(boolean on) 方法。 true 為守護線程, false 為用戶線程。
public class Daemons extends Thread { public Daemons(){ this.setDaemon(true);//設置線程為守護線程 /*setDaemon必須在線程啟動之前調用,當線程運行時調用會發生異常 如果要在一個守護線程中產生其他線程,那么新產生的線程都是守護線程 */ this.start(); } public void run(){ while(true){ System.out.println("daemon "+Thread.currentThread().getName()+" is running"); try { sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void main(String[] args) { // TODO Auto-generated method stub for(int i=0;i<5;i++){ new Daemons(); } } }
運行結果:
2) 用戶線程
守護線程和普通線程的區別就在于守護線程不是應用程序的核心部分。當一個應用程序的所有非守護線程終止運行時,及時仍然有守護線程運行,應用程序也將終止。反之,只要有一個非守護線程運行,應用程序就不會終止。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
