Java Thread destroy()方法

Thread類的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 Runtime類 下一篇:無