Grupo

 avatar
unknown
java
2 years ago
1.2 kB
2
Indexable
import java.util.Timer;
import java.util.TimerTask;

public class Main {
    public static void main(String[] args) {
        Timer timer = new Timer();
        for (int i = 0; i < 10; i++) {
            ThreadGroup group = new ThreadGroup("Grupo " + i);
            for (int j = 0; j < 10; j++) {
                Thread thread = new Thread(group, new Task());
                thread.start();
            }
            timer.scheduleAtFixedRate(new GroupTask(group), 0, 10000); // ejecuta cada 10 segundos
        }
    }
}

class Task implements Runnable {
    public void run() {
        System.out.println("Hola desde el hilo " + Thread.currentThread().getId() + " en el grupo " + Thread.currentThread().getThreadGroup().getName());
    }
}

class GroupTask extends TimerTask {
    private ThreadGroup group;

    public GroupTask(ThreadGroup group) {
        this.group = group;
    }

    public void run() {
        System.out.println("Ejecutando grupo " + group.getName());
        int activeCount = group.activeCount();
        Thread[] threads = new Thread[activeCount];
        group.enumerate(threads);
        for (Thread thread : threads) {
            System.out.println("Hilo activo: " + thread.getId());
        }
    }
}
Editor is loading...