进程间通信是和系统相关的我觉得.在unix\linux下有那么多的机制.而在windows下的选择就相形见绌了.说到底我觉得就是内存操作.只不过给出的方式是系统的内核提供的.我觉得你可以使用类似于socket的机制来进程处理.
java为了跨平台,在这方面的支持似乎比较弱

解决方案 »

  1.   

    threadOBJ.wait();
    threadOBJ.notify();
    threadOBJ.notifyall();
      

  2.   

    sorry!看错了,以为是线程通信了!撤销上述发言。
      

  3.   

    to tsingien(UID = 0)
    socket似乎是最常用的方法,但是现在我们不能用它。还有就是polling,可惜这样对performance的影响太大了。我不知道java怎么样能实现共享内存,如果可以共享内存话倒是容易解决。to javafaq2004(农村干部瞎忙活) 
    RMI应该只在JVM之间有效吧~~如果需要shell和java进程通信呢??此外,问一个问题:java怎么样得到本进程的pid?
      

  4.   

    Runtime
    Process
    GetInputStream
    GetOutputStream
    什么程序都可以。
      

  5.   

    这包括跟操因作系统而异的方法和不因操作系统而异的方法。Socket和“农村干部”的取得input/output stream的方法在所有操作系统下程序都可以用。但只有父进程能抓到子进程的input/output stream。象FIFO文件(or named pipe)因为在不同的操作系统下的实现不同可能导致使用方法不同,同时它的限制是进程必须在同一台机器上。如果你用NFS (network file system),你可以直接用文件来做IPC。每种方法各有其优缺点。
      

  6.   

    共享内存在Java中的实现和应用
    http://www-900.ibm.com/developerWorks/cn/java/l-memshare/index.shtml#top