Java多线程控制
我正在使用这段代码来创建线程。
while ((strLine = br.readLine()) != null) {
r = new runnable(strLine);
new Thread(r).start();
x++;
Thread.sleep(100);
}
如何控制任意时刻运行的最大线程数? 此代码存在内存使用不断上升(内存泄漏)的问题,有更好的方法吗? 我尝试使用调度程序但没有帮助。
I am using this code to create threads.
while ((strLine = br.readLine()) != null) {
r = new runnable(strLine);
new Thread(r).start();
x++;
Thread.sleep(100);
}
How can I control the maximum number of threads running at any point of time?
This code has issues where memory used keeps rising(memory leak) is there a better way to do this?
I tried using scheduler but didnt help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
ExecutorService< /code>
创建约束线程池。
将创建一个包含 10 个可用线程的池。然后您可以调用
每个工作单元。
编辑:我应该注意,此功能仅在 Java 1.5 及更高版本中可用。
You can use an
ExecutorService
to create constrained thread pools.will create a pool with 10 available threads. You can then call
for each unit of work.
EDIT: I should note that this facility is only available in Java 1.5 and later.