JavaSE8基礎 多線程setDaemon 守護線程
阿新 • • 發佈:2017-10-09
println ner () his new eclips 測試類 優秀 override
禮悟:
好好學習多思考,尊師重道存感恩。葉見尋根三返一,活水清源藏於零。
虛懷若谷良心主,皓月當空自在王。願給最苦行無悔,誠勸且行且珍惜。
os :windows7 x64
jdk:jdk-8u131-windows-x64
ide:Eclipse Oxygen Release (4.7.0)
Thread的子類:
package jizuiku2; import java.util.Date; /* * @version V17.09 */ public class MyThread extends Thread { // 具體的循環次數 private int num; public MyThread(int num) { // TODO Auto-generated constructor stub this.num = num; } @Override public void run() { // TODO Auto-generated method stub super.run(); // new Date().getTime() 從標準0時刻到現在 毫秒值的累計 for (int i = 0; i < this.num; ++i) { System.out.println(getName() + " " + i + " " + new Date().getTime()); } } }
測試類:
package jizuiku2; /* * @version V17.09 */ public class SHDemo { public static void main(String[] args) { MyThread zhu_mt50 = new MyThread(50); MyThread sh_mt100 = new MyThread(50); MyThread sh_mt200 = new MyThread(50); // 設置下面兩個線程為守護線程 sh_mt100.setDaemon(true); sh_mt200.setDaemon(true); zhu_mt50.setName("非守護"); // 當運行的唯一線程都是守護進程線程時,Java虛擬機將退出。 // main所在的線程和zhu_mt50不是守護進程 zhu_mt50.start(); sh_mt100.start(); sh_mt200.start(); for (int i = 0; i < 500; i++) { System.out.println(i); } System.out.println("main所在的線程結束"); } }
結果:
當被守護的main線程結束時
守護線程也緊跟著結束
非守護線程運行到了最後
API:
在視頻教程中,風清揚老師用一張圖 生動形象的解釋了 守護線程
很有趣。
Java優秀,值得學習。
學習資源:itcast和itheima視頻庫。如果您有公開的資源,可以分享給我的話,用您的資源學習也可以。
博文是觀看視頻後,融入思考寫成的。博文好,是老師講得好。博文壞,是 給最苦 沒認真。
JavaSE8基礎 多線程setDaemon 守護線程