Java多线程控制
我正在使用此代码创建线程Java多线程控制,java,multithreading,memory-leaks,Java,Multithreading,Memory Leaks,我正在使用此代码创建线程 while ((strLine = br.readLine()) != null) { r = new runnable(strLine); new Thread(r).start(); x++; Thread.sleep(100); } 如何控制在任何时间点运行的最大线程数? 此代码存在内存使用量不断增加的问题(内存
while ((strLine = br.readLine()) != null) {
r = new runnable(strLine);
new Thread(r).start();
x++;
Thread.sleep(100);
}
如何控制在任何时间点运行的最大线程数?
此代码存在内存使用量不断增加的问题(内存泄漏)有更好的方法吗?
我尝试使用调度程序,但没有帮助。您可以使用创建受约束的线程池
ExecutorService executor = Executors.newFixedThreadPool(10);
将创建一个包含10个可用线程的池。然后你可以打电话
executor.submit(new Runnable() { ... })
对于每个工作单元
编辑:我应该注意,此功能仅在Java 1.5及更高版本中可用