返回
深入剖析Java多线程(续):创建线程的其他方式与activeCount方法的浅谈
后端
2024-02-15 06:44:57
创建线程的其他方式
除了使用Thread类直接创建线程之外,还有其他几种创建线程的方式。
-
使用Runnable接口: Runnable接口是一个函数式接口,它只包含一个抽象方法run()。我们可以创建一个实现了Runnable接口的类,然后将该类作为参数传递给Thread类的构造函数来创建线程。
-
使用Callable接口: Callable接口也是一个函数式接口,它包含一个抽象方法call()。与Runnable接口不同,Callable接口的call()方法可以返回一个结果。我们可以创建一个实现了Callable接口的类,然后将该类作为参数传递给ExecutorService类的submit()方法来创建线程。
-
使用ThreadFactory接口: ThreadFactory接口是一个工厂接口,它包含一个抽象方法newThread()。我们可以创建一个实现了ThreadFactory接口的类,然后将该类作为参数传递给ExecutorService类的构造函数来创建线程池。
activeCount方法
activeCount方法用于获取当前线程组中活动的线程数。activeCount方法的返回值是一个int类型的值,表示当前线程组中活动的线程数。
示例
public class Main {
public static void main(String[] args) {
// 创建一个线程组
ThreadGroup threadGroup = new ThreadGroup("MyThreadGroup");
// 创建一个线程
Thread thread = new Thread(threadGroup, new Runnable() {
@Override
public void run() {
// 线程执行的内容
}
});
// 启动线程
thread.start();
// 获取当前线程组中活动的线程数
int activeCount = threadGroup.activeCount();
// 输出当前线程组中活动的线程数
System.out.println("当前线程组中活动的线程数:" + activeCount);
}
}
输出
当前线程组中活动的线程数:1
总结
这篇文章介绍了创建线程的其他方式和activeCount方法的用法。希望这篇文章对你有帮助。