小编Aug*_*ste的帖子

如何在使用ExecutorService时管理内存?

我需要执行大量任务multithreading.

我使用ExecutorService提交许多Callable objects,每个Callable object包含resource执行所需的一些.

问题

这些任务太多了,Callable objects提交ExecutorService占用太多内存然后heap就筋疲力尽了.

我想知道,什么时候JVM释放这些空间Callable objects

任务完成后是否立即执行此操作,如何管理用于的内存ExecutorService

我想控制提交ExecutorService,例如,当内存不足然后阻止提交util完成一些任务和空闲空间.可以吗?


整个代码太复杂,我将附加我的代码的主框架.

public class MyCallable implements Callable<Result> {

  ... // Some members

  public MyCallable(...) {
    ...
  }

  @Override
  public Result call() throws Exception {
    ... // Doing the task
  }
}

class MyFutureTask extends FutureTask<Result> {

  ... // Some members

  public MyFutureTask(...) {
    super(new MyCallable(...));
  } …
Run Code Online (Sandbox Code Playgroud)

java multithreading

8
推荐指数
2
解决办法
7723
查看次数

我可以在Java中复制或拦截输出流吗?

我想拦截标准输出流,然后将内容复制到另一个流,但我也希望保持标准输出流像原始.我可以用Java实现吗?

java outputstream

7
推荐指数
1
解决办法
4086
查看次数

标签 统计

java ×2

multithreading ×1

outputstream ×1