/*
* Java中的线程,分两类:一类叫用户线程,另一类叫守护线程
用户线程,有自己的生命周期
守护线程,其生命周期和之线程是一致的
*/
package com.derun.daemonThread.Example;
import java.util.logging.Level;
import java.util.logging.Logger;
class myThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
}
public class DaemonThread {
public static void main(String[] args) {
//有自己生命周期的线程,叫用户线程
// myThread myThread = new myThread();
// myThread.start();
myThread myThread = new myThread();
myThread.setDaemon(true); //将线程myThread设为守护线程
myThread.start();
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
System.out.println("这是主线程,end");
}
}
* Java中的线程,分两类:一类叫用户线程,另一类叫守护线程
用户线程,有自己的生命周期
守护线程,其生命周期和之线程是一致的
*/
package com.derun.daemonThread.Example;
import java.util.logging.Level;
import java.util.logging.Logger;
class myThread extends Thread {
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + ":" + i);
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
}
}
}
public class DaemonThread {
public static void main(String[] args) {
//有自己生命周期的线程,叫用户线程
// myThread myThread = new myThread();
// myThread.start();
myThread myThread = new myThread();
myThread.setDaemon(true); //将线程myThread设为守护线程
myThread.start();
try {
Thread.sleep(2000);
} catch (InterruptedException ex) {
ex.printStackTrace();
}
System.out.println("这是主线程,end");
}
}