我正在 Windows 7 计算机上的 eclipse 中运行一个计算密集型(解决数论问题)独立 Java 程序。没有其他应用程序正在运行。
现在我启动了任务管理器,发现 javaw.exe 只占用了约 50%。即使按照建议将优先级提高到高,这里,仍然只需要50%。
是否可以为该程序提供高 CPU(比如 90%)?
答案1
这里的问题是你的程序没有设计多线程或者多处理器基于计算。因此,程序正在使用,充分,(我猜)你的机器的两个核心之一。
您能否在任务管理器标签 ”表现“其中一个框显示充分使用(100%),其中一个是低的?
答案2
如果它是唯一正在运行的 CPU 密集型程序,并且只占用约 50% 的 CPU,则可能有两个原因:
- 它正在等待其他东西。(通常是磁盘访问)
- 它不是多线程的。50
% 的情况很可能是这种情况。特别是如果你有一个双核 CPU,并且程序在一个核心上全速运行,而另一个核心处于空闲状态。
编辑:您可以通过启动来测试选项 2二程序的实例。这可能会使你的 CPU 使用率升至 100%。