2011-01-09 166 views
2

我需要一个解决方案,它允许设置在系统上运行的线程数上限,并优化内存和CPU使用率(例如,内存大小不会增长到已知的总线程堆栈内存上)等Java中的线程管理

是否有一个本地Java技术或第三方库?

感谢

+0

除了使用固定大小的线程池之外,您可能试图限制使用不需要的线程。你能解释为什么你想要执行这些限制,以及如果达到这些限制,你会发生什么? – 2011-01-09 21:57:06

回答

2

线程堆栈大小是在Java中恒定的,所以你不必担心个别螺纹尺寸无限制增长。

如果您正在编写代码,希望在多个线程中执行某些操作,并且您希望确保不会消耗超过给定数量的线程,则可以使用类似fixed thread count executor的内容。

你想限制一个你没有其他控制的程序的线程数量吗?您可能需要为每个操作系统做一些特殊的事情。例如,Linux没有每个进程的线程限制(只有所有进程通用的全局限制)。

2

它看起来像你搜索的东西叫做“进程核算”,但只为线程。在一个JVM中,这是不可能的,每个线程都可以占用JVM的所有内存,并且如果它将优先级设置为最高值,它也可以将CPU从JVM中的其他线程中“偷走”。