標籤:java基礎 使用者線程 知識 new exception ack try 進程 cat
在java線程中有兩種線程,一種是使用者線程,另一種是守護線程。守護線程是一種特殊的線程,當進程中不存在非守護線程了,則守護線程自動銷毀。今天我們通過執行個體來學習一下java中關於守護線程的知識。
java中守護線程的例子一、java中守護線程的簡單使用
package com.linux.thread;import java.util.concurrent.TimeUnit;public class MyThread extends Thread { private int i = 0; @Override public void run() { try { while (true) { i++; System.out.println("i = " + i); TimeUnit.SECONDS.sleep(1); } } catch (InterruptedException e) { e.printStackTrace(); } }}
測試的主體類的內容如下:
package com.linux.thread;import java.util.concurrent.TimeUnit;public class MyThreadRun { public static void main(String[] args) { try { MyThread thread = new MyThread(); thread.setDaemon(true); thread.start(); TimeUnit.SECONDS.sleep(5); System.out.println("Liberty consists in doing what one desires."); // 當主線程執行這完畢,守護線程就停止執行。 } catch (InterruptedException e) { e.printStackTrace(); } }}
一次的運行結果如下:
i = 1i = 2i = 3i = 4i = 5Liberty consists in doing what one desires.
當主線程執行完畢被銷毀之後(所有的非守護線程執行完成之後),所有的守護線程被自動銷毀。
友情連結
java基礎---->java多線程的使用(五)