如何在几个核心上执行java程序?

LB4*_*B40 0 java multithreading jvm

我有一个Java程序,我在bash脚本中基于循环(根据要编译以构建Linux内核的文件数)运行了数千次.

自从jvm多次启动以来出现了性能问题......

我所做的就是在java中实现一个与我的bash脚本相同的包装器,从文件读取一行然后调用我以前的程序的主...这样,我只有一个jvm运行.. .

现在的问题是我的盒子中只有一个核心被使用,这是另一个性能问题......我是否必须启动一些线程或者我可以使用相同的方法但是可能以不同的方式调用"前"主体?如果我必须启动一些线程,我如何在多个核心中发送它们?

谢谢...

ska*_*man 17

您的Java程序需要变为多线程,以便利用许多核心.

例如,使用java.util.concurrent.Executors创建线程池,将数据项封装为Runnable,并将Runnable提交给线程池.