目录

void interrupt()

描述 (Description)

java.lang.ThreadGroup.interrupt()方法中断此线程组中的所有线程。

声明 (Declaration)

以下是java.lang.ThreadGroup.interrupt()方法的声明

public final void interrupt()

参数 (Parameters)

NA

返回值 (Return Value)

此方法不返回任何值。

异常 (Exception)

SecurityException - 如果不允许当前线程访问此线程组或线程组中的任何线程。

例子 (Example)

以下示例显示了java.lang.ThreadGroup.interrupt()方法的用法。

package com.iowiki;
import java.lang.*;
class newThread extends Thread {
   boolean stop;
   newThread(ThreadGroup group, String name) {
      super(group, name);
      stop = false;
   }
   public void run() {
      System.out.println(Thread.currentThread().getName() + " starting.");
      try {
         for(int i = 1; i < 1000; i++) {
            Thread.sleep(500);
            synchronized(this) {
               if(stop)
                  break;
            }   
         }
      } catch(Exception e) {
         System.out.print(Thread.currentThread().getName());
         System.out.println(" interrupted.");
      }
      System.out.println(Thread.currentThread().getName() + " exiting.");
   }
   synchronized void stopFunc() {
      stop = true;
   }
}
public class ThreadGroupDemo {
   public static void main(String args[]) throws Exception {
      ThreadGroup group = new ThreadGroup("new Group");
      newThread t1 = new newThread(group, "Thread1");
      newThread t2 = new newThread(group, "Thread2");
      // this will call run() method
      t1.start();
      t2.start();
      Thread.sleep(1000);
      // it shows current active threads in Thread Group
      System.out.println(group.activeCount() + " threads in thread group...");
      // returns the number of thread groups
      Thread th[] = new Thread[group.activeCount()];
      group.enumerate(th);
      for(Thread t : th)
         System.out.println(t.getName());
      t1.stopFunc();
      Thread.sleep(1000);
      System.out.println(group.activeCount() + " threads in thread group...");
      // thread group interrupted
      group.interrupt();
   }
}

让我们编译并运行上面的程序,这将产生以下结果 -

Thread1 starting.
Thread2 starting.
2 threads in thread group...
Thread1
Thread2
Thread1 exiting.
1 threads in thread group...
Thread2 interrupted.
Thread2 exiting.
↑回到顶部↑
WIKI教程 @2018