MST

星途 面试题库

面试题:Java多线程编程中如何创建和管理线程组

请描述在Java多线程编程里,创建线程组的步骤以及如何向线程组中添加线程,同时说明线程组的一些常见用途。
39.8万 热度难度
编程语言Java

知识考点

AI 面试

面试题答案

一键面试

创建线程组的步骤

  1. 定义线程组:使用ThreadGroup类来创建线程组。例如:
ThreadGroup group = new ThreadGroup("MyGroup");

这里,构造函数中的参数是线程组的名称。

向线程组中添加线程

  1. 通过Thread构造函数:在创建Thread对象时,将线程组作为参数传入。例如:
Thread thread = new Thread(group, new Runnable() {
    @Override
    public void run() {
        // 线程执行的代码
    }
});
  1. 启动线程:调用start方法启动线程,此时该线程就会属于指定的线程组。
thread.start();

线程组的常见用途

  1. 线程管理:可以对一组线程进行统一的操作,比如同时中断线程组内所有线程。
group.interrupt();
  1. 安全控制:线程组可以设置安全策略,对组内线程的资源访问等进行统一限制。
  2. 异常处理:可以为线程组设置一个UncaughtExceptionHandler,当组内线程出现未捕获异常时,进行统一处理。
group.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {
    @Override
    public void uncaughtException(Thread t, Throwable e) {
        // 异常处理逻辑
    }
});