我目前有以下设置。运行一段时间后,我正在退出内存异常;我怀疑 main 中的 for 循环导致过多的备份方法调用。如果我不想增加线程池大小,限制调用的最佳方法是什么?
public class ManagedThreads {
private final static ExecutorService ex = Executors.newFixedThreadPool(10);
public static void myMethod(final int i) {
ex.execute(new Runnable() {
public void run() {
// method body using i
}
});
}
public static void main(String[] args) {
for (int i = 0; i < 1000000000; ++i)
myMethod(i);
}
}
编辑
我的意思是表明我正在将循环的索引传递给可运行对象。