我的应用程序应该具有“实时暂停”功能。用户可以暂停执行,做一些修改将要发生的事情,然后解除暂停并让事情发生。东西按用户指定的时间间隔发生,速度可以很慢,可以很快。线程是否有助于提高Java的效率?
我在这里使用线程的目标是提高多核系统的性能。应用程序应该在时间间隔内紧缩的数据量应该是任意大的(我期望在集合上有很多和很多的循环,修改对象属性和生成随机数,但是珍贵的小磁盘访问)。我不希望应用程序受到单个内核容量的限制,如果它可以使用更多的内存来加快运行速度。
这实际上是这样工作吗?我已经运行了一些测试(在程序活动期间对程序进行了大量计算,并查看了CPU的使用情况),但这并不是确凿的结果 - 在我的双核心机器上,使用率肯定接近100%但几乎没有100%。单线程(仅主要)Java应用程序是否使用所有可用的核心进行计算?
“我在这里使用线程的目标是提高多核系统的性能。” < - 嗯,这可能会提高性能,是的,但是在并行处理时对性能更好的影响最大的因素是处理数据的算法 – fge 2014-11-08 09:11:32
当然,单线程应用程序并不使用所有内核。 – kraskevich 2014-11-08 09:13:47