public class Demo extends Thread {
volatile private boolean stop = false;
public void setStop(boolean stop) {
this.stop = stop;
}
public Demo(ThreadGroup group, String name) {
super(group, name);
}
public static void main(String args[]) throws Exception {
Demo thread = null;
ThreadGroup tg = new ThreadGroup("洒家的线程组");
for (int i = 0; i
thread = new Demo(tg, "thread-" + i);
thread.start();
}
Thread.sleep(3000);
System.out.println("去吧皮卡丘,中断他们");
Thread[] ts = new Thread[tg.activeCount()];
tg.enumerate(ts);
for (Thread t : ts) {
((Demo)t).setStop(true);
t.interrupt();
}
Thread.sleep(1000);
System.out.println("都特么挂了");
}
public void run() {
String threadName = Thread.currentThread().getName();
synchronized (this) {
System.out.println(threadName + " 跑起来了");
while (!stop) {
try {
System.out.println(threadName + " wait了");
wait();
} catch (InterruptedException e) {
System.out.println(threadName + " 不再wait了");
}
}
}
System.out.println(threadName + "拜拜");
}
}
仅供参考