我有一个java应用程序(确切地说是遗传算法),它定期启动本机进程(适应度函数),等待它完成并读取它输出的文件。但是,本机进程只能运行一次,因为它从conf文件读取并绑定几个套接字。有没有办法虚拟化本机进程,以便我可以同时运行多个副本?
答案 0 :(得分:1)
分叉它还是使用线程?
答案 1 :(得分:1)
可以从命令行同时运行进程吗?
如果它一直绑定到同一个端口,那么它不会让我觉得它可以。
答案 2 :(得分:1)
从您的标签判断,我认为您在询问是否存在用于机器虚拟化的Java API。可悲的是,没有。
当然,您可以使用java(必要时使用本机粘合代码或脚本)来驱动操作系统可以执行的任何操作,因此您可以使用java生成VM来运行健身程序。不过可能会很痛苦。
conf文件中是否指定了绑定的端口?你能用这样的程序:
一次运行多个?
更好的是,如果您可以告诉程序在哪里查找其配置文件,您可以在没有锁定的情况下执行此操作:
有用吗?
答案 3 :(得分:1)
听起来您需要修改适应性过程或与多个物理/虚拟机协调以运行分布式应用程序。
要使用分布式路由,您的主程序需要连接到您要使用的其他每台计算机上的类似进程,并在需要进行适应性计算时协调运行时间/运行时间。
为什么您的健康测试需要绑定到端口?