当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Thread destroy()用法及代码示例


线程类的 destroy() 方法用于销毁线程组及其所有子组。线程组必须为空,表示该线程组中的所有线程都已停止。

用法

public void destroy()

返回

它不返回任何值。

异常

IllegalThreadStateException:如果线程组不为空或线程组已被销毁,则抛出此异常。

SecurityException: 如果当前线程无法修改此线程组。

示例

public class JavaDestroyExp extends Thread 
{
    JavaDestroyExp(String threadname, ThreadGroup tg)
    {
        super(tg, threadname);
        start();
    }
    public void run()
    {
        for (int i = 0; i < 2; i++) 
        {
            try
            {
                Thread.sleep(10);
            }
            catch (InterruptedException ex) {
                System.out.println("Exception encounterted");}
        }
        System.out.println(Thread.currentThread().getName() +
              " finished executing");
    }
    public static void main(String arg[]) throws InterruptedException, SecurityException
    {
        // creating a ThreadGroup
        ThreadGroup g1 = new ThreadGroup("Parent thread");
        // creating a child ThreadGroup for parent ThreadGroup
        ThreadGroup g2 = new ThreadGroup(g1, "child thread");
        
        // creating a thread 
        JavaDestroyExp t1 = new JavaDestroyExp("Thread-1", g1);
        // creating another thread 
        JavaDestroyExp t2 = new JavaDestroyExp("Thread-2", g1);
        
        // block until other thread is finished
        t1.join();
        t2.join();
 
        // destroying child thread
        g2.destroy();
        System.out.println(g2.getName() + " destroyed");
        
        // destroying parent thread
        g1.destroy();
        System.out.println(g1.getName() + " destroyed");
    }
}

输出:

Thread-1 finished executing
Thread-2 finished executing
child thread destroyed
Parent thread destroyed






相关用法


注:本文由纯净天空筛选整理自 Java Thread destroy() method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。