我正在编写能够运行多个Java游戏实例的应用程序。游戏的每个实例都有多个线程,这些线程分组在ThreadGroup
对象中。我希望能够检测到无法添加另一个游戏实例的事实,因为可能没有足够的内存。我计划实现这一点的方法是平均每个ThreadGroup
占用的内存量,然后借助Runtime.getRuntime().freeMemory()
确定内存中是否有足够的可用空间。但是,我找不到计算ThreadGroup
(甚至是单个线程)占用的内存量的编程方法。
我发现能够显示此信息的分析器,但我需要这个解决方案是程序化的。