threadgroup_Java ThreadGroup setDaemon()方法与示例

threadgroup

ThreadGroup类的setDaemon()方法 (ThreadGroup Class setDaemon() method)

  • setDaemon() method is available in java.lang package.

    setDaemon()方法在java.lang包中可用。

  • setDaemon() method is used to set the daemon behavior of this thread group. As we know the daemon thread group destroyed explicitly when either the last thread of this thread group exits or the last thread group of this thread group destroyed.

    setDaemon()方法用于设置此线程组的守护程序行为。 众所周知,守护线程组在该线程组的最后一个线程退出或该线程组的最后一个线程组退出时被明确销毁。

  • setDaemon() method is a non-static method, it is accessible with the class object only and if we try to access the method with the class name then we will get an error.

    setDaemon()方法是一种非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。

  • setDaemon() method may throw an exception at the time of assigning daemon behavior of this ThreadGroup.

    setDaemon()方法可能在分配此ThreadGroup的守护程序行为时引发异常。

    SecurityException – This exception may throw when the current thread is not permitted to update this thread group.

    SecurityException-如果不允许当前线程更新此线程组,则可能引发此异常。

Syntax:

句法:

    public final void setDaemon(boolean daemon_th);

Parameter(s):

参数:

  • boolean daemon_th – represents the daemon status of this thread group when it sets true then this group is known as the daemon thread group otherwise it sets false this group is known as non-daemon thread group.

    boolean daemon_th –表示此线程组的守护程序状态,如果将其设置为true,则将该组称为守护程序线程组;否则将其设置为false,此组称为非守护程序线程组。

Return value:

返回值:

The return type of this method is void – it returns nothing.

此方法的返回类型为void –不返回任何内容。

Example:

例:

// Java program to demonstrate the example 
// of void setDaemon(boolean daemon_th ) method of ThreadGroup 

public class SetDaemon implements Runnable {
    public static void main(String[] args) {
        SetDaemon set_dae = new SetDaemon();
        set_dae.setDaem();
    }

    public void setDaem() {
        try {
            // Create two thread group and the named are base
            // and derived

            ThreadGroup base = new ThreadGroup("Base ThreadGroup");
            ThreadGroup derived = new ThreadGroup(base, "Derived ThreadGroup");

            // By using setDaemon() method is to set the
            // daemon behaviour for both the thread group
            // base and derived
            base.setDaemon(true);
            derived.setDaemon(false);

            // create two threads
            Thread th1 = new Thread(base, this);
            Thread th2 = new Thread(derived, this);

            // By using getName() method is to retrieve the
            // name of the thread th1
            System.out.println(th1.getName() + " " + "begins.....");

            // By using start() method is to start its execution 
            // of thread th1
            th1.start();

            // By using getName() method is to retrieve the
            // name of the thread th2
            System.out.println(th2.getName() + " " + "begins.....");
            th2.setPriority(10);

            // By using start() method is to start its execution 
            // of thread th2
            th2.start();

            // By using isDaemon() method is to
            // return the daemon status of the thread group
            boolean b1 = base.isDaemon();
            boolean b2 = derived.isDaemon();

            System.out.println("Is" + " " + base.getName() + " " + "daemon thread group:" + " " + b1);
            System.out.println("Is" + " " + derived.getName() + " " + "daemon thread group:" + " " + b2);

            // By using join() method is to wait the current
            // thread till complete execution of another thread
            th1.join();
            th2.join();
        } catch (InterruptedException ex) {
            ex.printStackTrace();
        }
    }

    // Override run()
    public void run() {
        for (int k = 0; k < 100; ++k)
            ++k;
        System.out.println(Thread.currentThread().getName() + " " + "ends.....");
    }
}

Output

输出量

Thread-0 begins.....
Thread-1 begins.....
Thread-0 ends.....
Thread-1 ends.....
Is Base ThreadGroup daemon thread group: true
Is Derived ThreadGroup daemon thread group: false


翻译自: https://www.includehelp.com/java/threadgroup-setdaemon-method-with-example.aspx

threadgroup

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值