内容目录:
Thread类函数详解
正文:
Void setDaemon(boolean on) -- 将线程组添加到复制到指定线程组中
Boolean isDaemon() -- 判断该线程是否为守护线程
名词解释
守护线程
1、是一段程序,(这不是废话嘛)
2、是一个线程,(这不也是废话嘛)
3、重点解释一下守护
为了便于理解我们举例说明,父母的职责就是在你未成年之前,照顾你,是你的监护人,换句话说,他们就是在守护你成长,直到你成年。
守护是一个动词,是一种动作,它具有一定的时间长度,有具体的目标,并且需要两个及两个以上对象参与,在程序里面的解释就是:
在程序的生命周期过程中,一段具有具体作用的后台线程
常见的守护线程有:GC(垃圾回收)、心跳检测等等这些都是常见的守护线程,其他的我们称为非守护线程
例子:
package com.redis.chat;
public class Hello{
public static void main(String[] args) {
Thread thread = new SunWuKong();
Thread thread_main = thread.currentThread();
try {
thread_main.checkAccess();
thread.setDaemon(true);
thread.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class SunWuKong extends Thread{
SunWuKong(){
setDaemon(false);
boolean a = isDaemon();
System.out.println(a);
}
@Override
public void run() {
boolean b = isDaemon();
System.out.println(b);
}
}
结果:
false
True
Void start()-- 启动该线程
例子:
package com.redis.chat;
public class Hello{
public static void main(String[] args) {
Thread thread = new SunWuKong();
Thread thread_main = thread.currentThread();
try {
thread_main.checkAccess();
thread.setDaemon(true);
thread.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class SunWuKong extends Thread{
SunWuKong(){
setDaemon(false);
boolean a = isDaemon();
System.out.println(a);
}
@Override
public void run() {
boolean b = isDaemon();
System.out.println(b);
}
}
Void run()-- 线程需要执行的具体行为
例子:
package com.redis.chat;
public class Hello{
public static void main(String[] args) {
Thread thread = new SunWuKong();
Thread thread_main = thread.currentThread();
try {
thread_main.checkAccess();
thread.setDaemon(true);
thread.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
class SunWuKong extends Thread{
SunWuKong(){
setDaemon(false);
boolean a = isDaemon();
System.out.println(a);
}
@Override
public void run() {
boolean b = isDaemon();
System.out.println(b);
}
}