Java 如何利用命名管道进行通信? Sorry,Java 不支持命名管道!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 java中提供管道功能,实现类有两组:PipedInputStream和PipedOutputStream或者PipedReader和PipedWriter利用管道进行 线程间通信。大概如下:在主线程中创建PipedReader和PipedWriter的实例,并确定连接关系;线程a拥有一个PipedWriter实例的引用(从构造函数传入),可以向writer写入字符;线程b拥有一个PipedReader实例的引用(从构造函数传入),可以从reader读取字符; import java.io.*;public class Main{ public static void main(String[] args){ try{ PipedReader reader = new PipedReader(); PipedWriter writer = new PipedWriter( reader ); Thread a = new A(writer); Thread b = new B(reader); a.start(); Thread.sleep(1000); b.start(); }catch(IOException e){ }catch(InterruptedException e1){ } } }class A extends Thread { PipedWriter writer; public A(PipedWriter writer){ this.writer = writer; } public void run(){ try{ writer.write("This is A. Hello world".toCharArray()); }catch (IOException e) {} }}class B extends Thread { PipedReader reader; public B(PipedReader reader){ this.reader = reader; } public void run(){ System.out.println("this is B."); try{ char[] buff = new char[100]; reader.read(buff,0,100); System.out.println(new String(buff)); }catch(IOException e){} }}例子程序,jdk1.4通过 Java中的管道只先于线程间通信,如果要跨进程,就要使用JNI了。另外在Java中的进程间通信有以下方法:1 Socket2 共享内存(1。4版本以上)这个链接有我的例子程序http://expert.csdn.net/Expert/topic/2545/2545703.xml?temp=.9242212 写一个产生伪随机数的方法 我怕sql注入呀 两个DATE类型的对象怎样比较大小? 请教一个关于JApplet的web应用问题 如何识别由于歧义名字而产生错误的代码? repaint() 函数怎么老是不响应呢?(急!!!!) 举例读出ini件 新手请教:对象串行化 如何将字符串china|japan|usa|korea中的国家名取出并存进String[]里 有谁能解释一下RMI类型程序的客户端和服务器端的Policy文件是怎么回事,应如何设置?? Eclipse中的Run的问题(解决马上给分!) 请教递归
PipedInputStream和PipedOutputStream
或者
PipedReader和PipedWriter利用管道进行 线程间通信。大概如下:
在主线程中创建PipedReader和PipedWriter的实例,并确定连接关系;
线程a拥有一个PipedWriter实例的引用(从构造函数传入),可以向writer写入字符;
线程b拥有一个PipedReader实例的引用(从构造函数传入),可以从reader读取字符;
PipedReader reader = new PipedReader();
PipedWriter writer = new PipedWriter( reader );
Thread a = new A(writer);
Thread b = new B(reader);
a.start();
Thread.sleep(1000);
b.start();
}catch(IOException e){
}catch(InterruptedException e1){
} }
}class A extends Thread {
PipedWriter writer;
public A(PipedWriter writer){
this.writer = writer;
}
public void run(){
try{
writer.write("This is A. Hello world".toCharArray());
}catch (IOException e) {}
}
}class B extends Thread {
PipedReader reader;
public B(PipedReader reader){
this.reader = reader;
}
public void run(){
System.out.println("this is B.");
try{
char[] buff = new char[100];
reader.read(buff,0,100);
System.out.println(new String(buff));
}catch(IOException e){}
}
}
例子程序,jdk1.4通过
另外在Java中的进程间通信有以下方法:
1 Socket
2 共享内存(1。4版本以上)这个链接有我的例子程序
http://expert.csdn.net/Expert/topic/2545/2545703.xml?temp=.9242212