package com.dq;
public class ThreadTest {
public static class Task implements Runnable
{
@Override
public void run()
{
Thread currentThread = Thread.currentThread();
while (true)
{
if (currentThread.isInterrupted())
{
if (currentThread.getThreadGroup().getName().equals("thread-group-1"))
{
System.out.println("thread-group-1线程组中的" + currentThread.getName() + "线程退出");
}
else
{
System.out.println("thread-group-2线程组中的" + currentThread.getName() + "线程退出");
}
break;
}
else
{
System.out.println("线程进行中:" + System.nanoTime());
}
}
}
}
public static void main(String[] args) throws InterruptedException
{
ThreadGroup group1 = new ThreadGroup("thread-group-1");
ThreadGroup group2 = new ThreadGroup("thread-group-2");
Task task = new Task();
Thread thread1 = new Thread(group1, task, "thread-1-1");
Thread thread2 = new Thread(group1, task, "thread-1-2");
Thread thread3 = new Thread(group2, task, "thread-2-1");
Thread thread4 = new Thread(group2, task, "thread-2-2");
thread1.start();
thread2.start();
thread3.start();
thread4.start();
Thread.sleep(10);
group1.interrupt(); // 这样就可以将线程组中的所有线程的中断标志设置为true,很方便
group2.interrupt();
}
}
Stop the thread by thread group experience
Guess you like
Origin blog.csdn.net/gunsmoke/article/details/104740647
Recommended
Ranking