Java库维护进程池

dim*_*imi 10 java concurrency multithreading executorservice threadpool

我正在开发一个需要并发的Java守护进程:一个无限循环,它监听作业队列(redis)并将每个作业分配给一个worker.工作人员不一定要返回值.

我发现Executors非常有用,我使用ThreadPoolExecutor来维护许多工作线程.

但是,这些工作者运行的第三方代码需要尽可能隔离,避免共享静态属性.

我的问题:是否有任何Java库/框架提供类似于Executors的功能,例如:

  • 工人池
  • 自动调整池大小

..但产生进程而不是线程?

Gra*_*ray 8

编辑:

所以现在我知道你想要以某种方式运行隔离的第三方库 - 所以他们没有访问静态变量的例子.

我会把你的任务放在另一个人身上ClassLoader.有一些Web框架使用此机制来隔离Web请求.在类加载器之间传递数据有点棘手.我不确定Jetty是怎么做到的.也许使用某种插座?这是一篇关于使用System.out共享对象有趣文章.当然是一个黑客.


我的问题是:是否有任何Java库/框架提供类似于Executors的功能......但是产生进程而不是线程?

现代操作系统将利用现代多处理器架构来充分利用Java线程.在当前进程内部生成另一个线程将在另一个处理器(如果可用)上运行,并且在完全独立的进程中运行该任务将更加高效,尤其是与另一个JVM进程一样繁重的事情.