2010-10-15 53 views
1

我有一个Java应用程序(准确地说是一种遗传算法),它周期性地启动本机进程(适应函数),等待它完成并读取它输出的文件。但是,本机进程只能运行一次,因为它从conf文件读取并绑定了几个套接字。有没有办法虚拟化本地进程,以便我可以同时运行多个副本?如何运行一个进程的多个实例?

回答

1

从标签上看,我觉得你问如果有机器虚拟化的Java API。可悲的是,没有。

当然,你可以使用Java(这样的原生胶代码或脚本是必要的)来驱动任何操作系统可以做,所以你可以用java虚拟机产卵运行的健身计划。虽然可能会很痛苦。

绑定在conf文件中指定的端口?你可以使用一个程序,如:

  1. 抢全局锁
  2. 选择端口随机大把
  3. 编辑使用这些端口
  4. 菌种健身计划
  5. 解除锁定的配置文件

要同时运行几个?

更妙的是,如果你能告诉程序到哪里寻找它的配置文件,你可以这样做而不锁:

  1. 复制配置文件到临时位置
  2. 选择一个随机大把港口
  3. 编辑配置文件的副本,请使用这些端口
  4. 菌种使用配置文件的副本健身计划的

有什么用?

+0

是的,您可以指定要在conf文件中使用哪些端口。 Althoud我无法告诉程序要使用哪个conf文件,我可以启动proggram,覆盖conf文件,启动另一个绑定其他端口的实例。 – mbatchkarov 2010-10-16 18:44:10

1

将它叉或使用线程?

1

可以从命令行同时运行进程吗?

如果结合到同一个端口的时候,那么它不看,我认为它可以。

1

听起来像是你需要修改的健身过程中或多个物理/虚拟机协调运行分布式应用程序。

要进行分布式路由,您的主程序需要连接到您要使用的每台其他机器上的类似进程,并在需要进行健身计算时协调何时/要运行什么。

为什么你的体能测试需要绑定端口?

+0

健身应用程序使用客户端/服务器架构,两部分通过UDP连接进行通信。 – mbatchkarov 2010-10-16 18:41:52

相关问题