[难]多个Java进程间消息传递,以及进程控制,详情见内! Thread.isAlive()获取线程状态.Thread.stop()强制终止线程,不建议这样做,建议在子线程长时间处理过程中设置一个标志当主线程将该标志设为某状态后自己退出run方法.传递消息和设置标志原理是一样的. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 3.主进程通过调用子进程的SET方法修改要传送的信息,子进程在运行过程中不断检查该字段,如果字段改变则表示信息传到,做相应的操作!` 不同jvm中的进程通讯比较麻烦,我首先想到的好办法是jms to eyeieye(魔之眼) 但是JMS是异步的通讯。我希望得到同步的调用。 如果是跨JVM的通讯,除了使用TCP/IP还可以使用映射文件,不过这个没做过. 我想到的一个方法是,用C++实现进程间的通讯与管理等功能。再用jni来调用。不然的话做进程间通讯还好办,如果要杀子进程就比较复杂了(除非在通讯协议中加上停止子进程的协议)进程间通讯最简单的办法可以是通过TCP/IP进行通讯。如果用文件映射的话,需要有更多的检查机制--这些通讯方法与java无关,但凡进程间通讯都可采用。 rmi实现步骤1)写一个接口,用于表达远程调用,注意你的接口要扩展Remote(空接口),每个方法要抛出RemoteException.编译成class2) 用rmic编译这个class, 生成stub class. 这个class在server和client端都要放3)实现这个接口,并实现server端的程序以装载这个实现类4)写客户端的调用,获得这个远程接口的实例;然后调用它。rmi布署比较难,但也比较有意思 我认为用SOCKET通讯是比较简单的办法:每个子进程侦听一个不同的端口,主程序通过SOCKET连接到不同端口,如果能连接上,那么子程序还活着。再发送相应命令让子进程退出或重启。很多服务器都是这么做的。 如果是不同JVM的进程,用SOCKET不失为一个方法,RMI太麻烦了 有简单的TCP/IP不用,干吗用别的。在java里,jvm外通讯都用TCP/IP,连Java的调试环境也用这个。 当然TCP/IP是最后的方法嘛~我只是想知道还有没有更好的办法? 不知道你是怎么启动的sub process的,如果是Runtime.exec的话,是不是可以用Process控制sub process啊? 是啊,但是没有办法传递参数的。除非socks 可以用Process.getOutputStream传参,如果你觉得这样不好的话,那只能用JNI或者SOCKET了。 java基础问题 java实现获取所有的包以及下面所有的类存入mysql javac中-sourcepath作用的总结问题! (100分)貌似关于正则表达式。不肯定 简单问题为什么 alCf 不能列出文件夹下全部的文件列表呢?是全局的阿 JPanel 布局问题 JVM OutOfMemoryError 如何解决? 小程序 急 在线等 编译通过,但出现这个问题,如何解决? JAVA 程序的"打包"过程是怎么实现的? 怎么区别button? 请问各位大侠:下面代码有何故障,为什么我添加的按钮“test”没有显示出来?
不然的话做进程间通讯还好办,如果要杀子进程就比较复杂了(除非在通讯协议中加上停止子进程的协议)进程间通讯最简单的办法可以是通过TCP/IP进行通讯。如果用文件映射的话,需要有更多的检查机制--这些通讯方法与java无关,但凡进程间通讯都可采用。
1)写一个接口,用于表达远程调用,注意你的接口要扩展Remote(空接口),每个方法要抛出RemoteException.编译成class
2) 用rmic编译这个class, 生成stub class. 这个class在server和client端都要放
3)实现这个接口,并实现server端的程序以装载这个实现类
4)写客户端的调用,获得这个远程接口的实例;然后调用它。rmi布署比较难,但也比较有意思
每个子进程侦听一个不同的端口,主程序通过SOCKET连接到不同端口,如果能连接上,那么子程序还活着。再发送相应命令让子进程退出或重启。
很多服务器都是这么做的。