[问题] 同台设备,如何不同process资料互传

楼主: JGC18 (JGC)   2015-05-28 15:11:46
各位好
我有一支java的程式放在某台设备上
该台设备有可能是linux or win的平台
使用者需要呼叫这支java去做某些事情后,并把结果回复
但对方的程式可能使用非java语言,有可能是C、C#...
那他该如何来呼叫我,让我帮他做一些事情后
并把结果回传给他呢?
假设他通知我001,我去做action001, 以此类推。
我目前想到的是很笨的方法,IO。
利用档案来互传资料,但是就我认知
应该避免不必要的IO动作
所以不知道有没有其它的建议让我参考看看
感谢各位!!!
作者: omidofor (妈妈咪呀)   2015-05-28 15:20:00
直接用system call,然后读standard output
作者: Killercat (杀人猫™)   2015-05-28 16:14:00
基本上最有效率的就是用C cross process lib然后用JNI去呼叫。不过已Java的架构来讲,由于无法直接碰触到内存位置,其实你会发现这不会省工....最多人用的应该是boost的interprocess lib我的案例的是在CPython跟C++之间synchttp://tinyurl.com/ptshloeJava的话 就把它包一层JNI 再用jobject传回java层吧老实讲pipeline效能也没差到哪去,没必要舍近求远pipeline/AF_UNIX socket效能都不会太糟糕的

Links booklink

Contact Us: admin [ a t ] ucptt.com