Java ThreadGroup interrupt()方法

ThreadGroup类的interrupt()方法用于中断线程组中的所有线程。

语法

public final void interrupt()

返回
此方法不返回任何值。

异常

  • SecurityException:如果不允许当前线程访问线程组或线程组中的任何线程,则抛出此异常。

示例

class NewThread extends Thread   
{  
    NewThread(String threadname, ThreadGroup tg)  
    {  
        super(tg, threadname);  
    }  
public void run()  
    {  
        for (int i = 0; i < 10; i++)   
        {  
            try  
            {  
                Thread.sleep(10);  
            }  
            catch (InterruptedException ex)   
            {  
              System.out.println(Thread.currentThread().getName()  
                                   + " interrupted");  
            }  
        }  
        System.out.println(Thread.currentThread().getName() +   
             " completed executing");  
    }  
}   
public class ThreadGroupInterruptExp  
{  
    public static void main(String arg[]) throws InterruptedException,  
        SecurityException  
    {  
        // creating the thread group  
        ThreadGroup tg1 = new ThreadGroup("Parent thread");  
        ThreadGroup tg2 = new ThreadGroup(tg1, "child thread");  

        // creating a thread   
        NewThread t1 = new NewThread("Thread-1", tg1);  
        System.out.println(t1.getName() + " starts");  
        t1.start();  

        // interrupting thread group  
        tg1.interrupt();  

        // creating another thread   
        NewThread t2 = new NewThread("Thread-2", tg1);  
        System.out.println(t2.getName() + " starts");  
        t2.start();  
    }  
}

执行上面示例代码,得到以下结果:

Thread-1 starts
Thread-2 starts
Thread-1 interrupted
Thread-1 completed executing
Thread-2 completed executing

上一篇: Java线程组 下一篇: Java关闭挂钩(shutdown hook)