如何从Java中的线程获取所有子线程?

时间:2012-04-11 09:02:39

标签: java multithreading

我正在开发一个框架,允许客户在java中编写自己的代码。并且这个框架在一个线程(比如线程A)中调用它们的代码来做定制的事情。

但是客户可以在他们的代码中创建新线程。那么问题是如何知道所有客户代码的线程完成了?或者如何禁止客户在代码中创建线程?

感谢。

1 个答案:

答案 0 :(得分:1)

您可以为客户端代码创建新的ThreadGroupactiveCount方法告诉您在给定时刻有多少客户端线程处于活动状态,enumerate方法允许您枚举线程。要等待整个组的终止,您可以枚举线程并在每个线程上调用join

如果你想禁止创建新线程,我相信你可以通过自定义SecurityManager来实现,但我不知道细节。