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)